locking: Add share_mode_data_dump() accessor function
authorVolker Lendecke <vl@samba.org>
Wed, 4 Nov 2020 14:27:56 +0000 (15:27 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 10 Nov 2020 19:49:35 +0000 (19:49 +0000)
This is a special case for net tdb dump. The alternative would be to
change the net tdb dump behaviour.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/locking/share_mode_lock.c
source3/locking/share_mode_lock.h

index 2ce7c1c2ea73e6877400a42563b7110053a00286..c860810d08693f707cb749c03e237ee660f91a58 100644 (file)
@@ -1146,6 +1146,36 @@ char *share_mode_filename(TALLOC_CTX *mem_ctx, struct share_mode_lock *lck)
        return fname;
 }
 
+char *share_mode_data_dump(
+       TALLOC_CTX *mem_ctx, struct share_mode_lock *lck)
+{
+       struct ndr_print *p = talloc(mem_ctx, struct ndr_print);
+       char *ret = NULL;
+
+       if (p == NULL) {
+               return NULL;
+       }
+
+       *p = (struct ndr_print) {
+               .print = ndr_print_string_helper,
+               .depth = 1,
+               .private_data = talloc_strdup(mem_ctx, ""),
+       };
+
+       if (p->private_data == NULL) {
+               TALLOC_FREE(p);
+               return NULL;
+       }
+
+       ndr_print_share_mode_data(p, "SHARE_MODE_DATA", lck->data);
+
+       ret = p->private_data;
+
+       TALLOC_FREE(p);
+
+       return ret;
+}
+
 struct share_mode_watch_state {
        bool blockerdead;
        struct server_id blocker;
index 8531d319728cfd9036e2cba402ccb20eee5af471..4254859ce0a432062f83b4d1d4fed5d69543a2ce 100644 (file)
@@ -101,6 +101,8 @@ bool share_mode_have_entries(struct share_mode_lock *lck);
 NTTIME share_mode_changed_write_time(struct share_mode_lock *lck);
 const char *share_mode_servicepath(struct share_mode_lock *lck);
 char *share_mode_filename(TALLOC_CTX *mem_ctx, struct share_mode_lock *lck);
+char *share_mode_data_dump(
+       TALLOC_CTX *mem_ctx, struct share_mode_lock *lck);
 
 struct tevent_req *share_mode_watch_send(
        TALLOC_CTX *mem_ctx,