2007-01-19 06:58:16 +03:00
/*
Unix SMB / CIFS implementation .
generic byte range locking code - common include
Copyright ( C ) Andrew Tridgell 2006
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
2007-07-10 06:07:03 +04:00
the Free Software Foundation ; either version 3 of the License , or
2007-01-19 06:58:16 +03:00
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
2007-07-10 06:07:03 +04:00
along with this program . If not , see < http : //www.gnu.org/licenses/>.
2007-01-19 06:58:16 +03:00
*/
2007-08-31 04:31:32 +04:00
# include "libcli/libcli.h"
2007-01-19 06:58:16 +03:00
struct brlock_ops {
struct brl_context * ( * brl_init ) ( TALLOC_CTX * , struct server_id ,
2007-12-10 06:33:16 +03:00
struct loadparm_context * lp_ctx ,
2011-05-03 04:40:33 +04:00
struct imessaging_context * ) ;
2007-01-19 06:58:16 +03:00
struct brl_handle * ( * brl_create_handle ) ( TALLOC_CTX * , struct ntvfs_handle * , DATA_BLOB * ) ;
NTSTATUS ( * brl_lock ) ( struct brl_context * ,
struct brl_handle * ,
2008-12-24 01:02:54 +03:00
uint32_t ,
2007-01-19 06:58:16 +03:00
uint64_t , uint64_t ,
enum brl_type ,
void * ) ;
NTSTATUS ( * brl_unlock ) ( struct brl_context * ,
struct brl_handle * ,
2008-12-24 01:02:54 +03:00
uint32_t ,
2007-01-19 06:58:16 +03:00
uint64_t , uint64_t ) ;
NTSTATUS ( * brl_remove_pending ) ( struct brl_context * ,
struct brl_handle * ,
void * ) ;
NTSTATUS ( * brl_locktest ) ( struct brl_context * ,
struct brl_handle * ,
2008-12-24 01:02:54 +03:00
uint32_t ,
2007-01-19 06:58:16 +03:00
uint64_t , uint64_t ,
enum brl_type ) ;
NTSTATUS ( * brl_close ) ( struct brl_context * ,
struct brl_handle * ) ;
2011-01-31 20:20:24 +03:00
NTSTATUS ( * brl_count ) ( struct brl_context * ,
struct brl_handle * ,
int * count ) ;
2007-01-19 06:58:16 +03:00
} ;
2011-05-07 10:12:54 +04:00
void brlock_set_ops ( const struct brlock_ops * new_ops ) ;
2007-01-19 06:58:16 +03:00
void brl_tdb_init_ops ( void ) ;