diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-03-13 10:00:57 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-03-13 10:00:57 +1100 |
commit | 3d9056aa863c8e1307709bcbbdbd3305e9bfe62f (patch) | |
tree | 49224fa1f8e5bc488e01f709015ed37be9b9d898 /source4/ntvfs/sysdep/sys_lease.h | |
parent | 07a7c8fa0d76cb7cb10cc88fb5bbe5439b746d01 (diff) | |
parent | 50243cdbbda8a1f14e56c684281a93614aab0103 (diff) | |
download | samba-3d9056aa863c8e1307709bcbbdbd3305e9bfe62f.tar.gz samba-3d9056aa863c8e1307709bcbbdbd3305e9bfe62f.tar.bz2 samba-3d9056aa863c8e1307709bcbbdbd3305e9bfe62f.zip |
Merge branch 'v4-0-test' of git://git.samba.org/samba into 4-0-local
(This used to be commit e9567e39106efb7443ed2c5df3492208b1c1d766)
Diffstat (limited to 'source4/ntvfs/sysdep/sys_lease.h')
-rw-r--r-- | source4/ntvfs/sysdep/sys_lease.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/source4/ntvfs/sysdep/sys_lease.h b/source4/ntvfs/sysdep/sys_lease.h new file mode 100644 index 0000000000..e53760fb1e --- /dev/null +++ b/source4/ntvfs/sysdep/sys_lease.h @@ -0,0 +1,65 @@ +/* + Unix SMB/CIFS implementation. + + Copyright (C) Stefan Metzmacher 2008 + + 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 + the Free Software Foundation; either version 3 of the License, or + (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 + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "param/share.h" + +struct sys_lease_context; +struct opendb_entry; +struct messaging_context; + +typedef NTSTATUS (*sys_lease_send_break_fn)(struct messaging_context *, + struct opendb_entry *, + uint8_t level); + +struct sys_lease_ops { + const char *name; + NTSTATUS (*init)(struct sys_lease_context *ctx); + NTSTATUS (*setup)(struct sys_lease_context *ctx, + struct opendb_entry *e); + NTSTATUS (*update)(struct sys_lease_context *ctx, + struct opendb_entry *e); + NTSTATUS (*remove)(struct sys_lease_context *ctx, + struct opendb_entry *e); +}; + +struct sys_lease_context { + struct event_context *event_ctx; + struct messaging_context *msg_ctx; + sys_lease_send_break_fn break_send; + void *private_data; /* for use of backend */ + const struct sys_lease_ops *ops; +}; + +NTSTATUS sys_lease_register(const struct sys_lease_ops *ops); +NTSTATUS sys_lease_init(void); + +struct sys_lease_context *sys_lease_context_create(struct share_config *scfg, + TALLOC_CTX *mem_ctx, + struct event_context *ev, + struct messaging_context *msg_ctx, + sys_lease_send_break_fn break_send); + +NTSTATUS sys_lease_setup(struct sys_lease_context *ctx, + struct opendb_entry *e); + +NTSTATUS sys_lease_update(struct sys_lease_context *ctx, + struct opendb_entry *e); + +NTSTATUS sys_lease_remove(struct sys_lease_context *ctx, + struct opendb_entry *e); |