1/* 2 Unix SMB/CIFS implementation. 3 4 Copyright (C) Andrew Bartlett <abartlet@samba.org> 2005 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. 18*/ 19 20#include "librpc/gen_ndr/netlogon.h" 21 22struct libnet_SamSync_state { 23 struct libnet_context *machine_net_ctx; 24 struct dcerpc_pipe *netlogon_pipe; 25 const char *domain_name; 26 const struct dom_sid *domain_sid; 27 const char *realm; 28 struct GUID *domain_guid; 29}; 30 31/* struct and enum for doing a remote domain vampire dump */ 32struct libnet_SamSync { 33 struct { 34 const char *binding_string; 35 NTSTATUS (*init_fn)(TALLOC_CTX *mem_ctx, 36 void *private_data, 37 struct libnet_SamSync_state *samsync_state, 38 char **error_string); 39 NTSTATUS (*delta_fn)(TALLOC_CTX *mem_ctx, 40 void *private_data, 41 enum netr_SamDatabaseID database, 42 struct netr_DELTA_ENUM *delta, 43 char **error_string); 44 void *fn_ctx; 45 struct cli_credentials *machine_account; 46 } in; 47 struct { 48 const char *error_string; 49 } out; 50}; 51 52struct libnet_SamDump { 53 struct { 54 const char *binding_string; 55 struct cli_credentials *machine_account; 56 } in; 57 struct { 58 const char *error_string; 59 } out; 60}; 61 62struct libnet_SamDump_keytab { 63 struct { 64 const char *binding_string; 65 const char *keytab_name; 66 struct cli_credentials *machine_account; 67 } in; 68 struct { 69 const char *error_string; 70 } out; 71}; 72 73struct libnet_samsync_ldb { 74 struct { 75 const char *binding_string; 76 struct cli_credentials *machine_account; 77 struct auth_session_info *session_info; 78 } in; 79 struct { 80 const char *error_string; 81 } out; 82}; 83 84