diff options
Diffstat (limited to 'source3/libnet/libnet_dssync.h')
-rw-r--r-- | source3/libnet/libnet_dssync.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/source3/libnet/libnet_dssync.h b/source3/libnet/libnet_dssync.h index c98e650fcc..9b18dae4f5 100644 --- a/source3/libnet/libnet_dssync.h +++ b/source3/libnet/libnet_dssync.h @@ -19,11 +19,14 @@ struct dssync_context; -typedef NTSTATUS (*dssync_processing_fn_t)(TALLOC_CTX *, - struct drsuapi_DsReplicaObjectListItemEx *, - struct drsuapi_DsReplicaOIDMapping_Ctr *, - bool, - struct dssync_context *ctx); +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); +}; struct dssync_context { const char *domain_name; @@ -34,14 +37,12 @@ struct dssync_context { DATA_BLOB session_key; const char *output_filename; - dssync_processing_fn_t processing_fn; + void *private_data; + + const struct dssync_ops *ops; char *result_message; char *error_message; }; -NTSTATUS libnet_dssync_dump_keytab(TALLOC_CTX *mem_ctx, - struct drsuapi_DsReplicaObjectListItemEx *cur, - struct drsuapi_DsReplicaOIDMapping_Ctr *mapping_ctr, - bool last_query, - struct dssync_context *ctx); +extern const struct dssync_ops libnet_dssync_keytab_ops; |