/* * Unix SMB/CIFS implementation. * client auto-generated by pidl. DO NOT MODIFY! */ #include "includes.h" #include "librpc/gen_ndr/cli_netlogon.h" NTSTATUS rpccli_netr_LogonUasLogon(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *account_name, const char *workstation, struct netr_UasInfo *info) { struct netr_LogonUasLogon r; NTSTATUS status; /* In parameters */ r.in.server_name = server_name; r.in.account_name = account_name; r.in.workstation = workstation; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonUasLogon, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONUASLOGON, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonUasLogon, (ndr_push_flags_fn_t)ndr_push_netr_LogonUasLogon); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonUasLogon, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if ( info ) { *info = *r.out.info; } /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_LogonUasLogoff(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *account_name, const char *workstation, struct netr_UasLogoffInfo *info) { struct netr_LogonUasLogoff r; NTSTATUS status; /* In parameters */ r.in.server_name = server_name; r.in.account_name = account_name; r.in.workstation = workstation; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonUasLogoff, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONUASLOGOFF, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonUasLogoff, (ndr_push_flags_fn_t)ndr_push_netr_LogonUasLogoff); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonUasLogoff, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info = *r.out.info; /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_LogonSamLogon(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *computer_name, struct netr_Authenticator *credential, struct netr_Authenticator *return_authenticator, uint16_t logon_level, union netr_LogonLevel logon, uint16_t validation_level, union netr_Validation *validation, uint8_t *authoritative) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonSamLogon, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONSAMLOGON, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonSamLogon, (ndr_push_flags_fn_t)ndr_push_netr_LogonSamLogon); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonSamLogon, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if ( return_authenticator ) { *return_authenticator = *r.out.return_authenticator; } *validation = *r.out.validation; *authoritative = *r.out.authoritative; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_LogonSamLogoff(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *computer_name, struct netr_Authenticator *credential, struct netr_Authenticator *return_authenticator, uint16_t logon_level, union netr_LogonLevel logon) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonSamLogoff, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONSAMLOGOFF, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonSamLogoff, (ndr_push_flags_fn_t)ndr_push_netr_LogonSamLogoff); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonSamLogoff, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if ( return_authenticator ) { *return_authenticator = *r.out.return_authenticator; } /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_ServerReqChallenge(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *computer_name, struct netr_Credential *credentials) { struct netr_ServerReqChallenge r; NTSTATUS status; /* In parameters */ r.in.server_name = server_name; r.in.computer_name = computer_name; r.in.credentials = credentials; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_ServerReqChallenge, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_SERVERREQCHALLENGE, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_ServerReqChallenge, (ndr_push_flags_fn_t)ndr_push_netr_ServerReqChallenge); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_ServerReqChallenge, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *credentials = *r.out.credentials; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_ServerAuthenticate(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *account_name, enum netr_SchannelType secure_channel_type, const char *computer_name, struct netr_Credential *credentials) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_SERVERAUTHENTICATE, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_ServerAuthenticate, (ndr_push_flags_fn_t)ndr_push_netr_ServerAuthenticate); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *credentials = *r.out.credentials; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_ServerPasswordSet(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *account_name, enum netr_SchannelType secure_channel_type, const char *computer_name, struct netr_Authenticator credential, struct samr_Password new_password, struct netr_Authenticator *return_authenticator) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_SERVERPASSWORDSET, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_ServerPasswordSet, (ndr_push_flags_fn_t)ndr_push_netr_ServerPasswordSet); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *return_authenticator = *r.out.return_authenticator; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_DatabaseDeltas(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *computername, struct netr_Authenticator credential, struct netr_Authenticator *return_authenticator, enum netr_SamDatabaseID database_id, uint64_t *sequence_num, uint32_t preferredmaximumlength, struct netr_DELTA_ENUM_ARRAY *delta_enum_array) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DatabaseDeltas, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DATABASEDELTAS, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DatabaseDeltas, (ndr_push_flags_fn_t)ndr_push_netr_DatabaseDeltas); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DatabaseDeltas, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *return_authenticator = *r.out.return_authenticator; *sequence_num = *r.out.sequence_num; if ( delta_enum_array ) { *delta_enum_array = *r.out.delta_enum_array; } /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_DatabaseSync(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *computername, struct netr_Authenticator credential, struct netr_Authenticator *return_authenticator, enum netr_SamDatabaseID database_id, uint32_t *sync_context, uint32_t preferredmaximumlength, struct netr_DELTA_ENUM_ARRAY *delta_enum_array) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DatabaseSync, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DATABASESYNC, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DatabaseSync, (ndr_push_flags_fn_t)ndr_push_netr_DatabaseSync); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DatabaseSync, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *return_authenticator = *r.out.return_authenticator; *sync_context = *r.out.sync_context; if ( delta_enum_array ) { *delta_enum_array = *r.out.delta_enum_array; } /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_AccountDeltas(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *computername, struct netr_Authenticator credential, struct netr_Authenticator *return_authenticator, struct netr_UAS_INFO_0 uas, uint32_t count, uint32_t level, uint32_t buffersize, struct netr_AccountBuffer *buffer, uint32_t *count_returned, uint32_t *total_entries, struct netr_UAS_INFO_0 *recordid) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_AccountDeltas, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_ACCOUNTDELTAS, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_AccountDeltas, (ndr_push_flags_fn_t)ndr_push_netr_AccountDeltas); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_AccountDeltas, &r); 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; } NTSTATUS rpccli_netr_AccountSync(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *computername, struct netr_Authenticator credential, struct netr_Authenticator *return_authenticator, uint32_t reference, uint32_t level, uint32_t buffersize, struct netr_AccountBuffer *buffer, uint32_t *count_returned, uint32_t *total_entries, uint32_t *next_reference, struct netr_UAS_INFO_0 *recordid) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_AccountSync, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_ACCOUNTSYNC, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_AccountSync, (ndr_push_flags_fn_t)ndr_push_netr_AccountSync); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_AccountSync, &r); 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; } NTSTATUS rpccli_netr_GetDcName(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *domainname, const char **dcname) { struct netr_GetDcName r; NTSTATUS status; /* In parameters */ r.in.logon_server = logon_server; r.in.domainname = domainname; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_GetDcName, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_GETDCNAME, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_GetDcName, (ndr_push_flags_fn_t)ndr_push_netr_GetDcName); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_GetDcName, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *dcname = *r.out.dcname; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_LogonControl(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, enum netr_LogonControlCode function_code, uint32_t level, union netr_CONTROL_QUERY_INFORMATION *info) { struct netr_LogonControl r; NTSTATUS status; /* In parameters */ r.in.logon_server = logon_server; r.in.function_code = function_code; r.in.level = level; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonControl, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONCONTROL, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonControl, (ndr_push_flags_fn_t)ndr_push_netr_LogonControl); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonControl, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *info = *r.out.info; /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_GetAnyDCName(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *domainname, const char **dcname) { struct netr_GetAnyDCName r; NTSTATUS status; /* In parameters */ r.in.logon_server = logon_server; r.in.domainname = domainname; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_GetAnyDCName, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_GETANYDCNAME, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_GetAnyDCName, (ndr_push_flags_fn_t)ndr_push_netr_GetAnyDCName); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_GetAnyDCName, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *dcname = *r.out.dcname; /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_LogonControl2(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, uint32_t function_code, uint32_t level, union netr_CONTROL_DATA_INFORMATION data, union netr_CONTROL_QUERY_INFORMATION *query) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonControl2, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONCONTROL2, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonControl2, (ndr_push_flags_fn_t)ndr_push_netr_LogonControl2); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonControl2, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *query = *r.out.query; /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_ServerAuthenticate2(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *account_name, enum netr_SchannelType secure_channel_type, const char *computer_name, struct netr_Credential *credentials, uint32_t *negotiate_flags) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate2, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_SERVERAUTHENTICATE2, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_ServerAuthenticate2, (ndr_push_flags_fn_t)ndr_push_netr_ServerAuthenticate2); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate2, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *credentials = *r.out.credentials; *negotiate_flags = *r.out.negotiate_flags; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_DatabaseSync2(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *computername, struct netr_Authenticator credential, struct netr_Authenticator *return_authenticator, enum netr_SamDatabaseID database_id, uint16_t restart_state, uint32_t *sync_context, uint32_t preferredmaximumlength, struct netr_DELTA_ENUM_ARRAY *delta_enum_array) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DatabaseSync2, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DATABASESYNC2, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DatabaseSync2, (ndr_push_flags_fn_t)ndr_push_netr_DatabaseSync2); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DatabaseSync2, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *return_authenticator = *r.out.return_authenticator; *sync_context = *r.out.sync_context; if ( delta_enum_array ) { *delta_enum_array = *r.out.delta_enum_array; } /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_DatabaseRedo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, const char *computername, struct netr_Authenticator credential, struct netr_Authenticator *return_authenticator, uint8_t *change_log_entry, uint32_t change_log_entry_size, struct netr_DELTA_ENUM_ARRAY *delta_enum_array) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DatabaseRedo, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DATABASEREDO, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DatabaseRedo, (ndr_push_flags_fn_t)ndr_push_netr_DatabaseRedo); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DatabaseRedo, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *return_authenticator = *r.out.return_authenticator; if ( delta_enum_array ) { *delta_enum_array = *r.out.delta_enum_array; } /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_LogonControl2Ex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *logon_server, uint32_t function_code, uint32_t level, union netr_CONTROL_DATA_INFORMATION data, union netr_CONTROL_QUERY_INFORMATION *query) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonControl2Ex, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONCONTROL2EX, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonControl2Ex, (ndr_push_flags_fn_t)ndr_push_netr_LogonControl2Ex); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonControl2Ex, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *query = *r.out.query; /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRENUMERATETRUSTEDDOMAINS(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRENUMERATETRUSTEDDOMAINS r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINS, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRENUMERATETRUSTEDDOMAINS, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRENUMERATETRUSTEDDOMAINS, (ndr_push_flags_fn_t)ndr_push_netr_NETRENUMERATETRUSTEDDOMAINS); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINS, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DsRGetDCName(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc, const char *domain_name, struct GUID *domain_guid, struct GUID *site_guid, uint32_t flags, struct netr_DsRGetDCNameInfo *info) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DsRGetDCName, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRGETDCNAME, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DsRGetDCName, (ndr_push_flags_fn_t)ndr_push_netr_DsRGetDCName); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DsRGetDCName, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if ( info ) { *info = *r.out.info; } /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRLOGONDUMMYROUTINE1(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRLOGONDUMMYROUTINE1 r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRLOGONDUMMYROUTINE1, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRLOGONDUMMYROUTINE1, (ndr_push_flags_fn_t)ndr_push_netr_NETRLOGONDUMMYROUTINE1); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRLOGONDUMMYROUTINE1, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRLOGONSETSERVICEBITS r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRLOGONSETSERVICEBITS, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRLOGONSETSERVICEBITS, (ndr_push_flags_fn_t)ndr_push_netr_NETRLOGONSETSERVICEBITS); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSETSERVICEBITS, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRLOGONGETTRUSTRID(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRLOGONGETTRUSTRID r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTRUSTRID, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRLOGONGETTRUSTRID, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRLOGONGETTRUSTRID, (ndr_push_flags_fn_t)ndr_push_netr_NETRLOGONGETTRUSTRID); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTRUSTRID, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRLOGONCOMPUTESERVERDIGEST r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRLOGONCOMPUTESERVERDIGEST, (ndr_push_flags_fn_t)ndr_push_netr_NETRLOGONCOMPUTESERVERDIGEST); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTESERVERDIGEST, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRLOGONCOMPUTECLIENTDIGEST r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRLOGONCOMPUTECLIENTDIGEST, (ndr_push_flags_fn_t)ndr_push_netr_NETRLOGONCOMPUTECLIENTDIGEST); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRLOGONCOMPUTECLIENTDIGEST, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_ServerAuthenticate3(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *account_name, enum netr_SchannelType secure_channel_type, const char *computer_name, struct netr_Credential *credentials, uint32_t *negotiate_flags, uint32_t *rid) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_ServerAuthenticate3, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_SERVERAUTHENTICATE3, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_ServerAuthenticate3, (ndr_push_flags_fn_t)ndr_push_netr_ServerAuthenticate3); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_ServerAuthenticate3, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *credentials = *r.out.credentials; *negotiate_flags = *r.out.negotiate_flags; *rid = *r.out.rid; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_DsRGetDCNameEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc, const char *domain_name, struct GUID *domain_guid, const char *site_name, uint32_t flags, struct netr_DsRGetDCNameInfo *info) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRGETDCNAMEEX, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DsRGetDCNameEx, (ndr_push_flags_fn_t)ndr_push_netr_DsRGetDCNameEx); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if ( info ) { *info = *r.out.info; } /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DsRGetSiteName(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *computer_name, const char **site) { struct netr_DsRGetSiteName r; NTSTATUS status; /* In parameters */ r.in.computer_name = computer_name; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DsRGetSiteName, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRGETSITENAME, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DsRGetSiteName, (ndr_push_flags_fn_t)ndr_push_netr_DsRGetSiteName); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DsRGetSiteName, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *site = *r.out.site; /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_LogonGetDomainInfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *computer_name, struct netr_Authenticator *credential, struct netr_Authenticator *return_authenticator, uint32_t level, union netr_DomainQuery query, union netr_DomainInfo *info) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonGetDomainInfo, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONGETDOMAININFO, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonGetDomainInfo, (ndr_push_flags_fn_t)ndr_push_netr_LogonGetDomainInfo); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonGetDomainInfo, &r); 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; } NTSTATUS rpccli_netr_ServerPasswordSet2(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *account_name, enum netr_SchannelType secure_channel_type, const char *computer_name, struct netr_Authenticator credential, struct netr_CryptPassword new_password, struct netr_Authenticator *return_authenticator) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_ServerPasswordSet2, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_SERVERPASSWORDSET2, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_ServerPasswordSet2, (ndr_push_flags_fn_t)ndr_push_netr_ServerPasswordSet2); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_ServerPasswordSet2, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *return_authenticator = *r.out.return_authenticator; /* Return result */ return r.out.result; } NTSTATUS rpccli_netr_NETRSERVERPASSWORDGET(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRSERVERPASSWORDGET r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRSERVERPASSWORDGET, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRSERVERPASSWORDGET, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRSERVERPASSWORDGET, (ndr_push_flags_fn_t)ndr_push_netr_NETRSERVERPASSWORDGET); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRSERVERPASSWORDGET, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRLOGONSENDTOSAM(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRLOGONSENDTOSAM r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRLOGONSENDTOSAM, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRLOGONSENDTOSAM, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRLOGONSENDTOSAM, (ndr_push_flags_fn_t)ndr_push_netr_NETRLOGONSENDTOSAM); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRLOGONSENDTOSAM, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DSRADDRESSTOSITENAMESW(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_DSRADDRESSTOSITENAMESW r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DSRADDRESSTOSITENAMESW, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRADDRESSTOSITENAMESW, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DSRADDRESSTOSITENAMESW, (ndr_push_flags_fn_t)ndr_push_netr_DSRADDRESSTOSITENAMESW); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DSRADDRESSTOSITENAMESW, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DsRGetDCNameEx2(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_unc, const char *client_account, uint32_t mask, const char *domain_name, struct GUID *domain_guid, const char *site_name, uint32_t flags, struct netr_DsRGetDCNameInfo *info) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DsRGetDCNameEx2, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRGETDCNAMEEX2, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DsRGetDCNameEx2, (ndr_push_flags_fn_t)ndr_push_netr_DsRGetDCNameEx2); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DsRGetDCNameEx2, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if ( info ) { *info = *r.out.info; } /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, (ndr_push_flags_fn_t)ndr_push_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRENUMERATETRUSTEDDOMAINSEX(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRENUMERATETRUSTEDDOMAINSEX r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINSEX, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRENUMERATETRUSTEDDOMAINSEX, (ndr_push_flags_fn_t)ndr_push_netr_NETRENUMERATETRUSTEDDOMAINSEX); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRENUMERATETRUSTEDDOMAINSEX, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DSRADDRESSTOSITENAMESEXW(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_DSRADDRESSTOSITENAMESEXW r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DSRADDRESSTOSITENAMESEXW, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRADDRESSTOSITENAMESEXW, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DSRADDRESSTOSITENAMESEXW, (ndr_push_flags_fn_t)ndr_push_netr_DSRADDRESSTOSITENAMESEXW); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DSRADDRESSTOSITENAMESEXW, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DSRGETDCSITECOVERAGEW(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_DSRGETDCSITECOVERAGEW r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DSRGETDCSITECOVERAGEW, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRGETDCSITECOVERAGEW, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DSRGETDCSITECOVERAGEW, (ndr_push_flags_fn_t)ndr_push_netr_DSRGETDCSITECOVERAGEW); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DSRGETDCSITECOVERAGEW, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_LogonSamLogonEx(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *computer_name, uint16_t logon_level, union netr_LogonLevel logon, uint16_t validation_level, union netr_Validation *validation, uint8_t *authoritative, uint32_t *flags) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonSamLogonEx, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONSAMLOGONEX, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonSamLogonEx, (ndr_push_flags_fn_t)ndr_push_netr_LogonSamLogonEx); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonEx, &r); 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; } NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, uint32_t trust_flags, uint32_t *count, struct netr_DomainTrust **trusts) { struct netr_DsrEnumerateDomainTrusts r; NTSTATUS status; /* In parameters */ r.in.server_name = server_name; r.in.trust_flags = trust_flags; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DsrEnumerateDomainTrusts, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRENUMERATEDOMAINTRUSTS, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DsrEnumerateDomainTrusts, (ndr_push_flags_fn_t)ndr_push_netr_DsrEnumerateDomainTrusts); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DsrEnumerateDomainTrusts, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ *count = *r.out.count; memcpy(trusts, r.out.trusts, count); /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DSRDEREGISTERDNSHOSTRECORDS(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_DSRDEREGISTERDNSHOSTRECORDS r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DSRDEREGISTERDNSHOSTRECORDS, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DSRDEREGISTERDNSHOSTRECORDS, (ndr_push_flags_fn_t)ndr_push_netr_DSRDEREGISTERDNSHOSTRECORDS); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DSRDEREGISTERDNSHOSTRECORDS, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRSERVERTRUSTPASSWORDSGET(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRSERVERTRUSTPASSWORDSGET r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRSERVERTRUSTPASSWORDSGET, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRSERVERTRUSTPASSWORDSGET, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRSERVERTRUSTPASSWORDSGET, (ndr_push_flags_fn_t)ndr_push_netr_NETRSERVERTRUSTPASSWORDSGET); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRSERVERTRUSTPASSWORDSGET, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_DSRGETFORESTTRUSTINFORMATION(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_DSRGETFORESTTRUSTINFORMATION r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_DSRGETFORESTTRUSTINFORMATION, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_DSRGETFORESTTRUSTINFORMATION, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_DSRGETFORESTTRUSTINFORMATION, (ndr_push_flags_fn_t)ndr_push_netr_DSRGETFORESTTRUSTINFORMATION); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_DSRGETFORESTTRUSTINFORMATION, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_NETRGETFORESTTRUSTINFORMATION(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRGETFORESTTRUSTINFORMATION r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRGETFORESTTRUSTINFORMATION, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRGETFORESTTRUSTINFORMATION, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRGETFORESTTRUSTINFORMATION, (ndr_push_flags_fn_t)ndr_push_netr_NETRGETFORESTTRUSTINFORMATION); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRGETFORESTTRUSTINFORMATION, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); } NTSTATUS rpccli_netr_LogonSamLogonWithFlags(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *server_name, const char *computer_name, struct netr_Authenticator *credential, struct netr_Authenticator *return_authenticator, uint16_t logon_level, union netr_LogonLevel logon, uint16_t validation_level, union netr_Validation *validation, uint8_t *authoritative, uint32_t *flags) { 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; if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_LogonSamLogonWithFlags, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_LOGONSAMLOGONWITHFLAGS, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_LogonSamLogonWithFlags, (ndr_push_flags_fn_t)ndr_push_netr_LogonSamLogonWithFlags); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_LogonSamLogonWithFlags, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ if ( 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; } NTSTATUS rpccli_netr_NETRSERVERGETTRUSTINFO(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx) { struct netr_NETRSERVERGETTRUSTINFO r; NTSTATUS status; /* In parameters */ if (DEBUGLEVEL >= 10) NDR_PRINT_IN_DEBUG(netr_NETRSERVERGETTRUSTINFO, &r); status = cli_do_rpc_ndr(cli, mem_ctx, PI_NETLOGON, NDR_NETR_NETRSERVERGETTRUSTINFO, &r, (ndr_pull_flags_fn_t)ndr_pull_netr_NETRSERVERGETTRUSTINFO, (ndr_push_flags_fn_t)ndr_push_netr_NETRSERVERGETTRUSTINFO); if (!NT_STATUS_IS_OK(status)) { return status; } if (DEBUGLEVEL >= 10) NDR_PRINT_OUT_DEBUG(netr_NETRSERVERGETTRUSTINFO, &r); if (NT_STATUS_IS_ERR(status)) { return status; } /* Return variables */ /* Return result */ return werror_to_ntstatus(r.out.result); }