s3:locking: Add new utility function leases_db_copy_file_ids()
authorJeremy Allison <jra@samba.org>
Fri, 5 Dec 2014 20:57:24 +0000 (12:57 -0800)
committerJeremy Allison <jra@samba.org>
Tue, 9 Dec 2014 00:18:08 +0000 (01:18 +0100)
Will be used by lease db parsers.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/locking/leases_db.c
source3/locking/leases_db.h

index 4cb38f0091ed3edacdae1a5bbd7f095d53e4b171..ed4f09a0ff43934a281862af3c285ffab3430203 100644 (file)
@@ -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;
+}
index f3988632b50c758065606624ab473aa5853112e3..0daa0ecade945385d8594f1afb4344f03bf009b4 100644 (file)
@@ -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_ */