2006-09-19 01:27:20 +00:00
/*
* Unix SMB / CIFS implementation .
* client auto - generated by pidl . DO NOT MODIFY !
*/
# include "includes.h"
2008-12-16 16:32:18 +01:00
# include "../librpc/gen_ndr/cli_netlogon.h"
2006-09-19 01:27:20 +00:00
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonUasLogon ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
const char * workstation /* [in] [charset(UTF16)] */ ,
2008-10-29 02:44:59 +01:00
struct netr_UasInfo * * info /* [out] [ref] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonUasLogon r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . server_name = server_name ;
r . in . account_name = account_name ;
r . in . workstation = workstation ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonUasLogon , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONUASLOGON ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonUasLogon , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* info = * r . out . info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonUasLogoff ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
const char * workstation /* [in] [charset(UTF16)] */ ,
struct netr_UasLogoffInfo * info /* [out] [ref] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonUasLogoff r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . server_name = server_name ;
r . in . account_name = account_name ;
r . in . workstation = workstation ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonUasLogoff , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONUASLOGOFF ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonUasLogoff , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* info = * r . out . info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonSamLogon ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-10-15 16:13:40 +02:00
enum netr_LogonInfoClass logon_level /* [in] */ ,
union netr_LogonLevel * logon /* [in] [ref,switch_is(logon_level)] */ ,
2008-03-25 17:52:33 +01:00
uint16_t validation_level /* [in] */ ,
union netr_Validation * validation /* [out] [ref,switch_is(validation_level)] */ ,
uint8_t * authoritative /* [out] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonSamLogon r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . server_name = server_name ;
r . in . computer_name = computer_name ;
r . in . credential = credential ;
2007-01-16 15:42:03 +00:00
r . in . return_authenticator = return_authenticator ;
2006-09-19 01:27:20 +00:00
r . in . logon_level = logon_level ;
r . in . logon = logon ;
r . in . validation_level = validation_level ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonSamLogon , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONSAMLOGON ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonSamLogon , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2007-10-17 10:35:51 +02:00
if ( return_authenticator & & r . out . return_authenticator ) {
2007-01-16 15:42:03 +00:00
* return_authenticator = * r . out . return_authenticator ;
}
2006-09-19 01:27:20 +00:00
* validation = * r . out . validation ;
* authoritative = * r . out . authoritative ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonSamLogoff ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-10-15 16:13:40 +02:00
enum netr_LogonInfoClass logon_level /* [in] */ ,
union netr_LogonLevel logon /* [in] [switch_is(logon_level)] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonSamLogoff r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . server_name = server_name ;
r . in . computer_name = computer_name ;
r . in . credential = credential ;
2007-01-16 15:42:03 +00:00
r . in . return_authenticator = return_authenticator ;
2006-09-19 01:27:20 +00:00
r . in . logon_level = logon_level ;
r . in . logon = logon ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonSamLogoff , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONSAMLOGOFF ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonSamLogoff , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2007-10-17 10:35:51 +02:00
if ( return_authenticator & & r . out . return_authenticator ) {
2007-01-16 15:42:03 +00:00
* return_authenticator = * r . out . return_authenticator ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_ServerReqChallenge ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * computer_name /* [in] [charset(UTF16)] */ ,
struct netr_Credential * credentials /* [in] [ref] */ ,
struct netr_Credential * return_credentials /* [out] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_ServerReqChallenge r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . server_name = server_name ;
r . in . computer_name = computer_name ;
r . in . credentials = credentials ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_ServerReqChallenge , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_SERVERREQCHALLENGE ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_ServerReqChallenge , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-02-15 23:32:02 +01:00
* return_credentials = * r . out . return_credentials ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_ServerAuthenticate ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
enum netr_SchannelType secure_channel_type /* [in] */ ,
const char * computer_name /* [in] [charset(UTF16)] */ ,
struct netr_Credential * credentials /* [in] [ref] */ ,
struct netr_Credential * return_credentials /* [out] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_ServerAuthenticate r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_ServerAuthenticate , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_SERVERAUTHENTICATE ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_ServerAuthenticate , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-02-15 23:32:02 +01:00
* return_credentials = * r . out . return_credentials ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_ServerPasswordSet ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
enum netr_SchannelType secure_channel_type /* [in] */ ,
const char * computer_name /* [in] [charset(UTF16)] */ ,
struct netr_Authenticator * credential /* [in] [ref] */ ,
struct netr_Authenticator * return_authenticator /* [out] [ref] */ ,
struct samr_Password * new_password /* [in] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_ServerPasswordSet r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_ServerPasswordSet , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_SERVERPASSWORDSET ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_ServerPasswordSet , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* return_authenticator = * r . out . return_authenticator ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DatabaseDeltas ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [charset(UTF16)] */ ,
const char * computername /* [in] [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] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_DatabaseDeltas r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DatabaseDeltas , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DATABASEDELTAS ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DatabaseDeltas , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* return_authenticator = * r . out . return_authenticator ;
* sequence_num = * r . out . sequence_num ;
2008-01-17 10:00:37 +01:00
* delta_enum_array = * r . out . delta_enum_array ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DatabaseSync ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [charset(UTF16)] */ ,
const char * computername /* [in] [charset(UTF16)] */ ,
2008-10-29 02:44:59 +01:00
struct netr_Authenticator * credential /* [in] [ref] */ ,
2008-03-25 17:52:33 +01:00
struct netr_Authenticator * return_authenticator /* [in,out] [ref] */ ,
enum netr_SamDatabaseID database_id /* [in] */ ,
uint32_t * sync_context /* [in,out] [ref] */ ,
2008-10-29 02:44:59 +01:00
struct netr_DELTA_ENUM_ARRAY * * delta_enum_array /* [out] [ref] */ ,
uint32_t preferredmaximumlength /* [in] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_DatabaseSync r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DatabaseSync , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DATABASESYNC ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DatabaseSync , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* return_authenticator = * r . out . return_authenticator ;
* sync_context = * r . out . sync_context ;
2008-01-17 10:00:37 +01:00
* delta_enum_array = * r . out . delta_enum_array ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_AccountDeltas ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [unique,charset(UTF16)] */ ,
const char * computername /* [in] [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] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_AccountDeltas r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_AccountDeltas , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_ACCOUNTDELTAS ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_AccountDeltas , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_AccountSync ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [unique,charset(UTF16)] */ ,
const char * computername /* [in] [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] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_AccountSync r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_AccountSync , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_ACCOUNTSYNC ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_AccountSync , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_GetDcName ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [charset(UTF16)] */ ,
const char * domainname /* [in] [unique,charset(UTF16)] */ ,
const char * * dcname /* [out] [ref,charset(UTF16)] */ ,
2008-01-31 14:10:22 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_GetDcName r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . logon_server = logon_server ;
r . in . domainname = domainname ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_GetDcName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_GETDCNAME ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_GetDcName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* dcname = * r . out . dcname ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2008-01-31 14:10:22 +01:00
if ( werror ) {
* werror = r . out . result ;
}
return werror_to_ntstatus ( r . out . result ) ;
2006-09-19 01:27:20 +00:00
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonControl ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [unique,charset(UTF16)] */ ,
enum netr_LogonControlCode function_code /* [in] */ ,
uint32_t level /* [in] */ ,
union netr_CONTROL_QUERY_INFORMATION * info /* [out] [ref,switch_is(level)] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonControl r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . logon_server = logon_server ;
r . in . function_code = function_code ;
r . in . level = level ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonControl , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONCONTROL ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonControl , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* info = * r . out . info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_GetAnyDCName ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [unique,charset(UTF16)] */ ,
const char * domainname /* [in] [unique,charset(UTF16)] */ ,
const char * * dcname /* [out] [ref,charset(UTF16)] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_GetAnyDCName r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . logon_server = logon_server ;
r . in . domainname = domainname ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_GetAnyDCName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_GETANYDCNAME ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_GetAnyDCName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* dcname = * r . out . dcname ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonControl2 ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [unique,charset(UTF16)] */ ,
2008-03-27 11:04:01 +01:00
enum netr_LogonControlCode function_code /* [in] */ ,
2008-03-25 17:52:33 +01:00
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)] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonControl2 r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . logon_server = logon_server ;
r . in . function_code = function_code ;
r . in . level = level ;
r . in . data = data ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonControl2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONCONTROL2 ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonControl2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* query = * r . out . query ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_ServerAuthenticate2 ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
enum netr_SchannelType secure_channel_type /* [in] */ ,
const char * computer_name /* [in] [charset(UTF16)] */ ,
struct netr_Credential * credentials /* [in] [ref] */ ,
struct netr_Credential * return_credentials /* [out] [ref] */ ,
uint32_t * negotiate_flags /* [in,out] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_ServerAuthenticate2 r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_ServerAuthenticate2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_SERVERAUTHENTICATE2 ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_ServerAuthenticate2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-02-15 23:32:02 +01:00
* return_credentials = * r . out . return_credentials ;
2006-09-19 01:27:20 +00:00
* negotiate_flags = * r . out . negotiate_flags ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DatabaseSync2 ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [charset(UTF16)] */ ,
const char * computername /* [in] [charset(UTF16)] */ ,
struct netr_Authenticator * credential /* [in] [ref] */ ,
struct netr_Authenticator * return_authenticator /* [in,out] [ref] */ ,
enum netr_SamDatabaseID database_id /* [in] */ ,
uint16_t restart_state /* [in] */ ,
uint32_t * sync_context /* [in,out] [ref] */ ,
struct netr_DELTA_ENUM_ARRAY * * delta_enum_array /* [out] [ref] */ ,
uint32_t preferredmaximumlength /* [in] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_DatabaseSync2 r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DatabaseSync2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DATABASESYNC2 ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DatabaseSync2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* return_authenticator = * r . out . return_authenticator ;
* sync_context = * r . out . sync_context ;
2008-01-17 10:00:37 +01:00
* delta_enum_array = * r . out . delta_enum_array ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DatabaseRedo ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [charset(UTF16)] */ ,
const char * computername /* [in] [charset(UTF16)] */ ,
2008-11-04 02:46:41 +01:00
struct netr_Authenticator * credential /* [in] [ref] */ ,
2008-03-25 17:52:33 +01:00
struct netr_Authenticator * return_authenticator /* [in,out] [ref] */ ,
2008-10-31 10:05:10 +01:00
struct netr_ChangeLogEntry change_log_entry /* [in] [subcontext_size(change_log_entry_size),subcontext(4)] */ ,
2009-01-01 04:45:33 +01:00
uint32_t change_log_entry_size /* [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */ ,
2008-11-04 02:46:41 +01:00
struct netr_DELTA_ENUM_ARRAY * * delta_enum_array /* [out] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_DatabaseRedo r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DatabaseRedo , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DATABASEREDO ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DatabaseRedo , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* return_authenticator = * r . out . return_authenticator ;
2008-01-17 10:00:37 +01:00
* delta_enum_array = * r . out . delta_enum_array ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonControl2Ex ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * logon_server /* [in] [unique,charset(UTF16)] */ ,
2008-12-13 00:51:18 +01:00
enum netr_LogonControlCode function_code /* [in] */ ,
2008-03-25 17:52:33 +01:00
uint32_t level /* [in] */ ,
2008-12-13 00:51:18 +01:00
union netr_CONTROL_DATA_INFORMATION * data /* [in] [ref,switch_is(function_code)] */ ,
2008-03-25 17:52:33 +01:00
union netr_CONTROL_QUERY_INFORMATION * query /* [out] [ref,switch_is(level)] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonControl2Ex r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . logon_server = logon_server ;
r . in . function_code = function_code ;
r . in . level = level ;
r . in . data = data ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonControl2Ex , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONCONTROL2EX ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonControl2Ex , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* query = * r . out . query ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_NetrEnumerateTrustedDomains ( struct rpc_pipe_client * cli ,
2008-01-09 11:59:11 +01:00
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
struct netr_Blob * trusted_domains_blob /* [out] [ref] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_NetrEnumerateTrustedDomains r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
r . in . server_name = server_name ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_NetrEnumerateTrustedDomains , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRENUMERATETRUSTEDDOMAINS ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_NetrEnumerateTrustedDomains , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* trusted_domains_blob = * r . out . trusted_domains_blob ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DsRGetDCName ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_DsRGetDCName r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DsRGetDCName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRGETDCNAME ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DsRGetDCName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* info = * r . out . info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_NETRLOGONDUMMYROUTINE1 ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_NETRLOGONDUMMYROUTINE1 r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_NETRLOGONDUMMYROUTINE1 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRLOGONDUMMYROUTINE1 ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_NETRLOGONDUMMYROUTINE1 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_NETRLOGONSETSERVICEBITS ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_NETRLOGONSETSERVICEBITS r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_NETRLOGONSETSERVICEBITS , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRLOGONSETSERVICEBITS ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_NETRLOGONSETSERVICEBITS , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-24 23:37:57 +01:00
NTSTATUS rpccli_netr_LogonGetTrustRid ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * domain_name /* [in] [unique,charset(UTF16)] */ ,
uint32_t * rid /* [out] [ref] */ ,
2008-01-24 23:37:57 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-24 23:37:57 +01:00
struct netr_LogonGetTrustRid r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-24 23:37:57 +01:00
r . in . server_name = server_name ;
r . in . domain_name = domain_name ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-24 23:37:57 +01:00
NDR_PRINT_IN_DEBUG ( netr_LogonGetTrustRid , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
2008-01-24 23:37:57 +01:00
NDR_NETR_LOGONGETTRUSTRID ,
2008-01-09 11:59:11 +01:00
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-24 23:37:57 +01:00
NDR_PRINT_OUT_DEBUG ( netr_LogonGetTrustRid , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-24 23:37:57 +01:00
* rid = * r . out . rid ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_NETRLOGONCOMPUTESERVERDIGEST ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_NETRLOGONCOMPUTESERVERDIGEST r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_NETRLOGONCOMPUTESERVERDIGEST , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRLOGONCOMPUTESERVERDIGEST ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_NETRLOGONCOMPUTESERVERDIGEST , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_NETRLOGONCOMPUTECLIENTDIGEST ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_NETRLOGONCOMPUTECLIENTDIGEST r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_NETRLOGONCOMPUTECLIENTDIGEST , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRLOGONCOMPUTECLIENTDIGEST ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_NETRLOGONCOMPUTECLIENTDIGEST , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_ServerAuthenticate3 ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
enum netr_SchannelType secure_channel_type /* [in] */ ,
const char * computer_name /* [in] [charset(UTF16)] */ ,
2008-10-29 02:44:59 +01:00
struct netr_Credential * credentials /* [in] [ref] */ ,
struct netr_Credential * return_credentials /* [out] [ref] */ ,
2008-03-25 17:52:33 +01:00
uint32_t * negotiate_flags /* [in,out] [ref] */ ,
uint32_t * rid /* [out] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_ServerAuthenticate3 r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_ServerAuthenticate3 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_SERVERAUTHENTICATE3 ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_ServerAuthenticate3 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-10-29 02:44:59 +01:00
* return_credentials = * r . out . return_credentials ;
2006-09-19 01:27:20 +00:00
* negotiate_flags = * r . out . negotiate_flags ;
* rid = * r . out . rid ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DsRGetDCNameEx ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_DsRGetDCNameEx r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DsRGetDCNameEx , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRGETDCNAMEEX ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DsRGetDCNameEx , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* info = * r . out . info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DsRGetSiteName ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * computer_name /* [in] [unique,charset(UTF16)] */ ,
const char * * site /* [out] [ref,charset(UTF16)] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_DsRGetSiteName r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . computer_name = computer_name ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DsRGetSiteName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRGETSITENAME ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DsRGetSiteName , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* site = * r . out . site ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonGetDomainInfo ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [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_DomainQuery query /* [in] [switch_is(level)] */ ,
union netr_DomainInfo * info /* [out] [ref,switch_is(level)] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonGetDomainInfo r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonGetDomainInfo , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONGETDOMAININFO ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonGetDomainInfo , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* return_authenticator = * r . out . return_authenticator ;
* info = * r . out . info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_ServerPasswordSet2 ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
enum netr_SchannelType secure_channel_type /* [in] */ ,
const char * computer_name /* [in] [charset(UTF16)] */ ,
2008-08-21 15:02:03 +02:00
struct netr_Authenticator * credential /* [in] [ref] */ ,
struct netr_Authenticator * return_authenticator /* [out] [ref] */ ,
struct netr_CryptPassword * new_password /* [in] [ref] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_ServerPasswordSet2 r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_ServerPasswordSet2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_SERVERPASSWORDSET2 ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_ServerPasswordSet2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* return_authenticator = * r . out . return_authenticator ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_ServerPasswordGet ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
enum netr_SchannelType secure_channel_type /* [in] */ ,
const char * computer_name /* [in] [charset(UTF16)] */ ,
struct netr_Authenticator * credential /* [in] [ref] */ ,
struct netr_Authenticator * return_authenticator /* [out] [ref] */ ,
struct samr_Password * password /* [out] [ref] */ ,
2008-01-17 10:00:37 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_ServerPasswordGet r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_ServerPasswordGet , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
2008-01-17 10:00:37 +01:00
NDR_NETR_SERVERPASSWORDGET ,
2008-01-09 11:59:11 +01:00
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_ServerPasswordGet , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* return_authenticator = * r . out . return_authenticator ;
* password = * r . out . password ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_NETRLOGONSENDTOSAM ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_NETRLOGONSENDTOSAM r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_NETRLOGONSENDTOSAM , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRLOGONSENDTOSAM ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_NETRLOGONSENDTOSAM , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_DsRAddressToSitenamesW ( struct rpc_pipe_client * cli ,
2008-01-09 11:59:11 +01:00
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_DsRAddressToSitenamesW r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
r . in . server_name = server_name ;
r . in . count = count ;
r . in . addresses = addresses ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_DsRAddressToSitenamesW , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRADDRESSTOSITENAMESW ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_DsRAddressToSitenamesW , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* ctr = * r . out . ctr ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DsRGetDCNameEx2 ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_DsRGetDCNameEx2 r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DsRGetDCNameEx2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRGETDCNAMEEX2 ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DsRGetDCNameEx2 , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* info = * r . out . info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRLOGONGETTIMESERVICEPARENTDOMAIN ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_NetrEnumerateTrustedDomainsEx ( struct rpc_pipe_client * cli ,
2008-01-09 11:59:11 +01:00
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
struct netr_DomainTrustList * dom_trust_list /* [out] [ref] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_NetrEnumerateTrustedDomainsEx r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
r . in . server_name = server_name ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_NetrEnumerateTrustedDomainsEx , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_NETRENUMERATETRUSTEDDOMAINSEX ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_NetrEnumerateTrustedDomainsEx , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* dom_trust_list = * r . out . dom_trust_list ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_DsRAddressToSitenamesExW ( struct rpc_pipe_client * cli ,
2008-01-09 11:59:11 +01:00
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_DsRAddressToSitenamesExW r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
r . in . server_name = server_name ;
r . in . count = count ;
r . in . addresses = addresses ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_DsRAddressToSitenamesExW , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRADDRESSTOSITENAMESEXW ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_DsRAddressToSitenamesExW , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* ctr = * r . out . ctr ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_DsrGetDcSiteCoverageW ( struct rpc_pipe_client * cli ,
2008-01-09 11:59:11 +01:00
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
2008-10-27 14:24:46 +01:00
struct DcSitesCtr * * ctr /* [out] [ref] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_DsrGetDcSiteCoverageW r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
r . in . server_name = server_name ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_DsrGetDcSiteCoverageW , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRGETDCSITECOVERAGEW ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_DsrGetDcSiteCoverageW , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* ctr = * r . out . ctr ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonSamLogonEx ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * computer_name /* [in] [unique,charset(UTF16)] */ ,
2008-10-15 16:13:40 +02:00
enum netr_LogonInfoClass logon_level /* [in] */ ,
union netr_LogonLevel * logon /* [in] [ref,switch_is(logon_level)] */ ,
2008-03-25 17:52:33 +01:00
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] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonSamLogonEx r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* 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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonSamLogonEx , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONSAMLOGONEX ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonSamLogonEx , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
* validation = * r . out . validation ;
* authoritative = * r . out . authoritative ;
* flags = * r . out . flags ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_DsrEnumerateDomainTrusts ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
uint32_t trust_flags /* [in] */ ,
struct netr_DomainTrustList * trusts /* [out] [ref] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
struct netr_DsrEnumerateDomainTrusts r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . server_name = server_name ;
r . in . trust_flags = trust_flags ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_DsrEnumerateDomainTrusts , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRENUMERATEDOMAINTRUSTS ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_DsrEnumerateDomainTrusts , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* trusts = * r . out . trusts ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-25 21:15:36 +01:00
NTSTATUS rpccli_netr_DsrDeregisterDNSHostRecords ( struct rpc_pipe_client * cli ,
2008-01-09 11:59:11 +01:00
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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)] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-25 21:15:36 +01:00
struct netr_DsrDeregisterDNSHostRecords r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-25 21:15:36 +01:00
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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-25 21:15:36 +01:00
NDR_PRINT_IN_DEBUG ( netr_DsrDeregisterDNSHostRecords , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRDEREGISTERDNSHOSTRECORDS ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-25 21:15:36 +01:00
NDR_PRINT_OUT_DEBUG ( netr_DsrDeregisterDNSHostRecords , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_ServerTrustPasswordsGet ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * account_name /* [in] [charset(UTF16)] */ ,
enum netr_SchannelType secure_channel_type /* [in] */ ,
const char * computer_name /* [in] [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] */ )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_ServerTrustPasswordsGet r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_ServerTrustPasswordsGet , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
2008-01-17 10:00:37 +01:00
NDR_NETR_SERVERTRUSTPASSWORDSGET ,
2008-01-09 11:59:11 +01:00
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_ServerTrustPasswordsGet , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* return_authenticator = * r . out . return_authenticator ;
* password = * r . out . password ;
* password2 = * r . out . password2 ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2008-01-17 10:00:37 +01:00
return r . out . result ;
2006-09-19 01:27:20 +00:00
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_DsRGetForestTrustInformation ( struct rpc_pipe_client * cli ,
2008-01-09 11:59:11 +01:00
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-01-09 11:59:11 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_DsRGetForestTrustInformation r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
r . in . server_name = server_name ;
r . in . trusted_domain_name = trusted_domain_name ;
r . in . flags = flags ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_DsRGetForestTrustInformation , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_DSRGETFORESTTRUSTINFORMATION ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_DsRGetForestTrustInformation , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* forest_trust_info = * r . out . forest_trust_info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-17 10:00:37 +01:00
NTSTATUS rpccli_netr_GetForestTrustInformation ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
const char * server_name /* [in] [unique,charset(UTF16)] */ ,
const char * trusted_domain_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] */ ,
2008-01-17 10:00:37 +01:00
WERROR * werror )
2006-09-19 01:27:20 +00:00
{
2008-01-17 10:00:37 +01:00
struct netr_GetForestTrustInformation r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-01-17 10:00:37 +01:00
r . in . server_name = server_name ;
r . in . trusted_domain_name = trusted_domain_name ;
r . in . credential = credential ;
r . in . flags = flags ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_IN_DEBUG ( netr_GetForestTrustInformation , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
2008-01-17 10:00:37 +01:00
NDR_NETR_GETFORESTTRUSTINFORMATION ,
2008-01-09 11:59:11 +01:00
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-01-17 10:00:37 +01:00
NDR_PRINT_OUT_DEBUG ( netr_GetForestTrustInformation , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-01-17 10:00:37 +01:00
* return_authenticator = * r . out . return_authenticator ;
* forest_trust_info = * r . out . forest_trust_info ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2007-12-03 18:19:20 +01:00
if ( werror ) {
* werror = r . out . result ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
return werror_to_ntstatus ( r . out . result ) ;
}
2008-01-09 11:59:11 +01:00
NTSTATUS rpccli_netr_LogonSamLogonWithFlags ( struct rpc_pipe_client * cli ,
TALLOC_CTX * mem_ctx ,
2008-03-25 17:52:33 +01:00
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] */ ,
2008-10-15 16:13:40 +02:00
enum netr_LogonInfoClass logon_level /* [in] */ ,
2008-10-29 02:44:59 +01:00
union netr_LogonLevel * logon /* [in] [ref,switch_is(logon_level)] */ ,
2008-03-25 17:52:33 +01:00
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] */ )
2006-09-19 01:27:20 +00:00
{
struct netr_LogonSamLogonWithFlags r ;
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
r . in . server_name = server_name ;
r . in . computer_name = computer_name ;
r . in . credential = credential ;
2007-01-16 15:42:03 +00:00
r . in . return_authenticator = return_authenticator ;
2006-09-19 01:27:20 +00:00
r . in . logon_level = logon_level ;
r . in . logon = logon ;
r . in . validation_level = validation_level ;
r . in . flags = flags ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_IN_DEBUG ( netr_LogonSamLogonWithFlags , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
NDR_NETR_LOGONSAMLOGONWITHFLAGS ,
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2006-09-19 22:39:15 +00:00
NDR_PRINT_OUT_DEBUG ( netr_LogonSamLogonWithFlags , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2007-10-17 10:35:51 +02:00
if ( return_authenticator & & r . out . return_authenticator ) {
2007-01-16 15:42:03 +00:00
* return_authenticator = * r . out . return_authenticator ;
}
2006-09-19 01:27:20 +00:00
* validation = * r . out . validation ;
* authoritative = * r . out . authoritative ;
* flags = * r . out . flags ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
return r . out . result ;
}
2008-12-10 02:53:36 +01:00
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] */ ,
2008-12-13 00:24:02 +01:00
struct netr_TrustInfo * * trust_info /* [out] [ref] */ )
2006-09-19 01:27:20 +00:00
{
2008-12-10 02:53:36 +01:00
struct netr_ServerGetTrustInfo r ;
2006-09-19 01:27:20 +00:00
NTSTATUS status ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* In parameters */
2008-12-10 02:53:36 +01:00
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 ;
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-12-10 02:53:36 +01:00
NDR_PRINT_IN_DEBUG ( netr_ServerGetTrustInfo , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
status = cli_do_rpc_ndr ( cli ,
mem_ctx ,
& ndr_table_netlogon ,
2008-12-10 02:53:36 +01:00
NDR_NETR_SERVERGETTRUSTINFO ,
2008-01-09 11:59:11 +01:00
& r ) ;
2008-01-08 18:07:55 +01:00
2007-02-16 14:50:57 +00:00
if ( ! NT_STATUS_IS_OK ( status ) ) {
2006-09-28 21:19:08 +00:00
return status ;
}
2008-01-08 18:07:55 +01:00
2008-01-09 11:59:11 +01:00
if ( DEBUGLEVEL > = 10 ) {
2008-12-10 02:53:36 +01:00
NDR_PRINT_OUT_DEBUG ( netr_ServerGetTrustInfo , & r ) ;
2008-01-09 11:59:11 +01:00
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
if ( NT_STATUS_IS_ERR ( status ) ) {
return status ;
}
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return variables */
2008-12-10 02:53:36 +01:00
* 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 ;
2008-01-08 18:07:55 +01:00
2006-09-19 01:27:20 +00:00
/* Return result */
2008-12-13 00:24:02 +01:00
return r . out . result ;
2006-09-19 01:27:20 +00:00
}