Merge commit 'release-4-0-0alpha15' into master4-tmp
[ira/wip.git] / source4 / ntvfs / common / brlock.c
index c87eca8aff3371da5d389c7188c2ca6719ac19da..a6232f85964c7d6c476855b5adef09cb9fac0965 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "includes.h"
 #include "system/filesys.h"
-#include "lib/tdb/include/tdb.h"
+#include "tdb_compat.h"
 #include "messaging/messaging.h"
 #include "lib/messaging/irpc.h"
 #include "libcli/libcli.h"
@@ -38,26 +38,26 @@ static const struct brlock_ops *ops;
 /*
   set the brl backend ops
 */
-void brl_set_ops(const struct brlock_ops *new_ops)
+void brlock_set_ops(const struct brlock_ops *new_ops)
 {
        ops = new_ops;
 }
 
 /*
   Open up the brlock database. Close it down using talloc_free(). We
-  need the messaging_ctx to allow for pending lock notifications.
+  need the imessaging_ctx to allow for pending lock notifications.
 */
-struct brl_context *brl_init(TALLOC_CTX *mem_ctx, struct server_id server, 
+struct brl_context *brlock_init(TALLOC_CTX *mem_ctx, struct server_id server, 
                             struct loadparm_context *lp_ctx,
-                            struct messaging_context *messaging_ctx)
+                            struct imessaging_context *imessaging_ctx)
 {
        if (ops == NULL) {
                brl_tdb_init_ops();
        }
-       return ops->brl_init(mem_ctx, server, lp_ctx, messaging_ctx);
+       return ops->brl_init(mem_ctx, server, lp_ctx, imessaging_ctx);
 }
 
-struct brl_handle *brl_create_handle(TALLOC_CTX *mem_ctx, struct ntvfs_handle *ntvfs, DATA_BLOB *file_key)
+struct brl_handle *brlock_create_handle(TALLOC_CTX *mem_ctx, struct ntvfs_handle *ntvfs, DATA_BLOB *file_key)
 {
        return ops->brl_create_handle(mem_ctx, ntvfs, file_key);
 }
@@ -69,9 +69,9 @@ struct brl_handle *brl_create_handle(TALLOC_CTX *mem_ctx, struct ntvfs_handle *n
   someone else closing an overlapping lock range) a messaging
   notification is sent, identified by the notify_ptr
 */
-NTSTATUS brl_lock(struct brl_context *brl,
+NTSTATUS brlock_lock(struct brl_context *brl,
                  struct brl_handle *brlh,
-                 uint16_t smbpid,
+                 uint32_t smbpid,
                  uint64_t start, uint64_t size, 
                  enum brl_type lock_type,
                  void *notify_ptr)
@@ -83,9 +83,9 @@ NTSTATUS brl_lock(struct brl_context *brl,
 /*
  Unlock a range of bytes.
 */
-NTSTATUS brl_unlock(struct brl_context *brl,
+NTSTATUS brlock_unlock(struct brl_context *brl,
                    struct brl_handle *brlh, 
-                   uint16_t smbpid,
+                   uint32_t smbpid,
                    uint64_t start, uint64_t size)
 {
        return ops->brl_unlock(brl, brlh, smbpid, start, size);
@@ -96,7 +96,7 @@ NTSTATUS brl_unlock(struct brl_context *brl,
   given up trying to establish a lock or when they have succeeded in
   getting it. In either case they no longer need to be notified.
 */
-NTSTATUS brl_remove_pending(struct brl_context *brl,
+NTSTATUS brlock_remove_pending(struct brl_context *brl,
                            struct brl_handle *brlh, 
                            void *notify_ptr)
 {
@@ -107,9 +107,9 @@ NTSTATUS brl_remove_pending(struct brl_context *brl,
 /*
   Test if we are allowed to perform IO on a region of an open file
 */
-NTSTATUS brl_locktest(struct brl_context *brl,
+NTSTATUS brlock_locktest(struct brl_context *brl,
                      struct brl_handle *brlh,
-                     uint16_t smbpid, 
+                     uint32_t smbpid, 
                      uint64_t start, uint64_t size, 
                      enum brl_type lock_type)
 {
@@ -120,8 +120,18 @@ NTSTATUS brl_locktest(struct brl_context *brl,
 /*
  Remove any locks associated with a open file.
 */
-NTSTATUS brl_close(struct brl_context *brl,
+NTSTATUS brlock_close(struct brl_context *brl,
                   struct brl_handle *brlh)
 {
        return ops->brl_close(brl, brlh);
 }
+
+/*
+ Get a number of locks associated with a open file.
+*/
+NTSTATUS brlock_count(struct brl_context *brl,
+                  struct brl_handle *brlh,
+                  int *count)
+{
+       return ops->brl_count(brl, brlh, count);
+}