2008-06-23 23:13:21 +02:00
/*
* Unix SMB / CIFS implementation .
* libnet Support
* Copyright ( C ) Guenther Deschner 2008
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , see < http : //www.gnu.org/licenses/>.
*/
struct dssync_context ;
2008-07-16 17:12:04 +02:00
struct dssync_ops {
NTSTATUS ( * startup ) ( struct dssync_context * ctx , TALLOC_CTX * mem_ctx ) ;
NTSTATUS ( * process_objects ) ( struct dssync_context * ctx ,
TALLOC_CTX * mem_ctx ,
struct drsuapi_DsReplicaObjectListItemEx * objects ,
struct drsuapi_DsReplicaOIDMapping_Ctr * mappings ) ;
NTSTATUS ( * finish ) ( struct dssync_context * ctx , TALLOC_CTX * mem_ctx ) ;
} ;
2008-06-23 23:13:21 +02:00
struct dssync_context {
const char * domain_name ;
2008-06-26 23:24:25 +02:00
const char * dns_domain_name ;
2008-06-23 23:13:21 +02:00
struct rpc_pipe_client * cli ;
const char * nc_dn ;
struct policy_handle bind_handle ;
DATA_BLOB session_key ;
2008-06-26 23:24:25 +02:00
const char * output_filename ;
2008-06-23 23:13:21 +02:00
2008-07-16 17:12:04 +02:00
void * private_data ;
const struct dssync_ops * ops ;
2008-06-23 23:13:21 +02:00
char * result_message ;
char * error_message ;
} ;
2008-06-27 15:36:19 +02:00
2008-07-16 17:12:04 +02:00
extern const struct dssync_ops libnet_dssync_keytab_ops ;