cli_netlogon: Eliminate rpccli_setup_netlogon_creds_with_creds
[samba.git] / source3 / rpc_client / cli_netlogon.h
1 /*
2    Unix SMB/CIFS implementation.
3    NT Domain Authentication SMB / MSRPC client
4    Copyright (C) Andrew Tridgell 1992-2000
5    Copyright (C) Jeremy Allison                    1998.
6    Largely re-written by Jeremy Allison (C)        2005.
7    Copyright (C) Guenther Deschner                 2008.
8
9    This program is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 3 of the License, or
12    (at your option) any later version.
13
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18
19    You should have received a copy of the GNU General Public License
20    along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 */
22
23 #ifndef _RPC_CLIENT_CLI_NETLOGON_H_
24 #define _RPC_CLIENT_CLI_NETLOGON_H_
25
26 struct cli_state;
27 struct messaging_context;
28 struct cli_credentials;
29 struct netlogon_creds_cli_context;
30 struct dcerpc_binding_handle;
31 #include "librpc/rpc/rpc_common.h"
32
33 /* The following definitions come from rpc_client/cli_netlogon.c  */
34
35 NTSTATUS rpccli_pre_open_netlogon_creds(void);
36 NTSTATUS rpccli_create_netlogon_creds_ctx(
37         struct cli_credentials *creds,
38         const char *server_computer,
39         struct messaging_context *msg_ctx,
40         TALLOC_CTX *mem_ctx,
41         struct netlogon_creds_cli_context **netlogon_creds);
42 NTSTATUS rpccli_setup_netlogon_creds(
43         struct cli_state *cli,
44         enum dcerpc_transport_t transport,
45         struct netlogon_creds_cli_context *netlogon_creds,
46         bool force_reauth,
47         struct cli_credentials *cli_creds);
48 NTSTATUS rpccli_netlogon_password_logon(struct netlogon_creds_cli_context *creds,
49                                         struct dcerpc_binding_handle *binding_handle,
50                                         TALLOC_CTX *mem_ctx,
51                                         uint32_t logon_parameters,
52                                         const char *domain,
53                                         const char *username,
54                                         const char *password,
55                                         const char *workstation,
56                                         enum netr_LogonInfoClass logon_type,
57                                         uint8_t *authoritative,
58                                         uint32_t *flags,
59                                         struct netr_SamInfo3 **info3);
60 NTSTATUS rpccli_netlogon_network_logon(struct netlogon_creds_cli_context *creds,
61                                        struct dcerpc_binding_handle *binding_handle,
62                                        TALLOC_CTX *mem_ctx,
63                                        uint32_t logon_parameters,
64                                        const char *username,
65                                        const char *domain,
66                                        const char *workstation,
67                                        const uint8_t chal[8],
68                                        DATA_BLOB lm_response,
69                                        DATA_BLOB nt_response,
70                                        uint8_t *authoritative,
71                                        uint32_t *flags,
72                                        struct netr_SamInfo3 **info3);
73
74 #endif /* _RPC_CLIENT_CLI_NETLOGON_H_ */