summaryrefslogtreecommitdiff
path: root/source3/libnet/libnet_samsync.h
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-11-17 16:28:34 +0100
committerGünther Deschner <gd@samba.org>2008-11-18 16:04:21 +0100
commit10572d1bf46da4e5dce2e9744778d8cffa312cb0 (patch)
tree6f38c9376857931705c31c4b0018597937782805 /source3/libnet/libnet_samsync.h
parent0861a7122e5772d4a987afb3e77baa2faa99fb32 (diff)
downloadsamba-10572d1bf46da4e5dce2e9744778d8cffa312cb0.tar.gz
samba-10572d1bf46da4e5dce2e9744778d8cffa312cb0.tar.bz2
samba-10572d1bf46da4e5dce2e9744778d8cffa312cb0.zip
s3-libnet-samsync: add samsync_ops.
Guenther
Diffstat (limited to 'source3/libnet/libnet_samsync.h')
-rw-r--r--source3/libnet/libnet_samsync.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/source3/libnet/libnet_samsync.h b/source3/libnet/libnet_samsync.h
index 4a356e2eed..42bf8d1537 100644
--- a/source3/libnet/libnet_samsync.h
+++ b/source3/libnet/libnet_samsync.h
@@ -32,6 +32,21 @@ typedef NTSTATUS (*samsync_delta_fn_t)(TALLOC_CTX *,
struct netr_DELTA_ENUM_ARRAY *,
bool,
struct samsync_context *);
+struct samsync_ops {
+ NTSTATUS (*startup)(TALLOC_CTX *mem_ctx,
+ struct samsync_context *ctx,
+ enum netr_SamDatabaseID id,
+ uint64_t *sequence_num);
+ NTSTATUS (*process_objects)(TALLOC_CTX *mem_ctx,
+ enum netr_SamDatabaseID id,
+ struct netr_DELTA_ENUM_ARRAY *array,
+ bool last_query,
+ struct samsync_context *ctx);
+ NTSTATUS (*finish)(TALLOC_CTX *mem_ctx,
+ struct samsync_context *ctx,
+ enum netr_SamDatabaseID id,
+ uint64_t sequence_num);
+};
struct samsync_object {
uint16_t database_id;
@@ -64,6 +79,9 @@ struct samsync_context {
struct samsync_object *objects;
struct rpc_pipe_client *cli;
+
+ const struct samsync_ops *ops;
+
samsync_delta_fn_t delta_fn;
void *private_data;
};