root/source4/ntvfs/common/brlock.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* 
   2    Unix SMB/CIFS implementation.
   3 
   4    generic byte range locking code - common include
   5 
   6    Copyright (C) Andrew Tridgell 2006
   7    
   8    This program is free software; you can redistribute it and/or modify
   9    it under the terms of the GNU General Public License as published by
  10    the Free Software Foundation; either version 3 of the License, or
  11    (at your option) any later version.
  12    
  13    This program is distributed in the hope that it will be useful,
  14    but WITHOUT ANY WARRANTY; without even the implied warranty of
  15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16    GNU General Public License for more details.
  17    
  18    You should have received a copy of the GNU General Public License
  19    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  20 */
  21 
  22 #include "libcli/libcli.h"
  23 
  24 struct brlock_ops {
  25         struct brl_context *(*brl_init)(TALLOC_CTX *, struct server_id , 
  26                                         struct loadparm_context *lp_ctx,
  27                                         struct messaging_context *);
  28         struct brl_handle *(*brl_create_handle)(TALLOC_CTX *, struct ntvfs_handle *, DATA_BLOB *);
  29         NTSTATUS (*brl_lock)(struct brl_context *,
  30                              struct brl_handle *,
  31                              uint32_t ,
  32                              uint64_t , uint64_t , 
  33                              enum brl_type ,
  34                              void *);
  35         NTSTATUS (*brl_unlock)(struct brl_context *,
  36                                struct brl_handle *, 
  37                                uint32_t ,
  38                                uint64_t , uint64_t );
  39         NTSTATUS (*brl_remove_pending)(struct brl_context *,
  40                                        struct brl_handle *, 
  41                                        void *);
  42         NTSTATUS (*brl_locktest)(struct brl_context *,
  43                                  struct brl_handle *,
  44                                  uint32_t , 
  45                                  uint64_t , uint64_t , 
  46                                  enum brl_type );
  47         NTSTATUS (*brl_close)(struct brl_context *,
  48                               struct brl_handle *);
  49 };
  50 
  51 
  52 void brl_set_ops(const struct brlock_ops *new_ops);
  53 void brl_tdb_init_ops(void);
  54 void brl_ctdb_init_ops(void);
  55 

/* [<][>][^][v][top][bottom][index][help] */