From b3b878eea4ecdd13828fc8f912ad95904e8a6c5e Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 5 Dec 2014 12:57:24 -0800 Subject: [PATCH] s3:locking: Add new utility function leases_db_copy_file_ids() Will be used by lease db parsers. Signed-off-by: Jeremy Allison Reviewed-by: Stefan Metzmacher --- source3/locking/leases_db.c | 20 ++++++++++++++++++++ source3/locking/leases_db.h | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/source3/locking/leases_db.c b/source3/locking/leases_db.c index 4cb38f0091e..ed4f09a0ff4 100644 --- a/source3/locking/leases_db.c +++ b/source3/locking/leases_db.c @@ -408,3 +408,23 @@ NTSTATUS leases_db_rename(const struct GUID *client_guid, filename_new, stream_name_new); } + +NTSTATUS leases_db_copy_file_ids(TALLOC_CTX *mem_ctx, + uint32_t num_files, + const struct leases_db_file *files, + struct file_id **pp_ids) +{ + uint32_t i; + struct file_id *ids = talloc_array(mem_ctx, + struct file_id, + num_files); + if (ids == NULL) { + return NT_STATUS_NO_MEMORY; + } + + for (i = 0; i < num_files; i++) { + ids[i] = files[i].id; + } + *pp_ids = ids; + return NT_STATUS_OK; +} diff --git a/source3/locking/leases_db.h b/source3/locking/leases_db.h index f3988632b50..0daa0ecade9 100644 --- a/source3/locking/leases_db.h +++ b/source3/locking/leases_db.h @@ -24,6 +24,7 @@ struct GUID; struct smb2_lease_key; struct file_id; +struct leases_db_file; bool leases_db_init(bool read_only); NTSTATUS leases_db_add(const struct GUID *client_guid, @@ -48,4 +49,8 @@ NTSTATUS leases_db_rename(const struct GUID *client_guid, const char *servicepath_new, const char *filename_new, const char *stream_name_new); +NTSTATUS leases_db_copy_file_ids(TALLOC_CTX *mem_ctx, + uint32_t num_files, + const struct leases_db_file *files, + struct file_id **pp_ids); #endif /* _LEASES_DB_H_ */ -- 2.11.4.GIT