summaryrefslogtreecommitdiff
path: root/source3/smbd/proto.h
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-04-04 14:51:43 +0200
committerVolker Lendecke <vl@samba.org>2012-04-17 10:21:02 +0200
commit843432d56f9114a4d0d3021a772953dc5a1193dd (patch)
tree2b180ce533bc337e56e09dee1e2fe8a5c7070f4c /source3/smbd/proto.h
parentae691cd9cc5f00a1d4465d233cdd9f5b580b2c39 (diff)
downloadsamba-843432d56f9114a4d0d3021a772953dc5a1193dd.tar.gz
samba-843432d56f9114a4d0d3021a772953dc5a1193dd.tar.bz2
samba-843432d56f9114a4d0d3021a772953dc5a1193dd.zip
s3: New notify implementation
From notify_internal.c: /* * The notify database is split up into two databases: One * relatively static index db and the real notify db with the * volatile entries. */ This change is necessary to make notify scale better in a cluster
Diffstat (limited to 'source3/smbd/proto.h')
-rw-r--r--source3/smbd/proto.h27
1 files changed, 19 insertions, 8 deletions
diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h
index a770c3a2a4..4300ee3bca 100644
--- a/source3/smbd/proto.h
+++ b/source3/smbd/proto.h
@@ -540,19 +540,30 @@ NTSTATUS inotify_watch(struct sys_notify_context *ctx,
struct notify_context *notify_init(TALLOC_CTX *mem_ctx,
struct messaging_context *messaging_ctx,
struct event_context *ev);
-bool notify_internal_parent_init(TALLOC_CTX *mem_ctx);
-NTSTATUS notify_add(struct notify_context *notify, connection_struct *conn,
- struct notify_entry *e0,
+NTSTATUS notify_add(struct notify_context *notify,
+ const char *path, uint32_t filter, uint32_t subdir_filter,
void (*callback)(void *, const struct notify_event *),
void *private_data);
NTSTATUS notify_remove(struct notify_context *notify, void *private_data);
-NTSTATUS notify_remove_onelevel(struct notify_context *notify,
- const struct file_id *fid,
- void *private_data);
-void notify_onelevel(struct notify_context *notify, uint32_t action,
- uint32_t filter, struct file_id fid, const char *name);
void notify_trigger(struct notify_context *notify,
uint32_t action, uint32_t filter, const char *path);
+void notify_walk_idx(struct notify_context *notify,
+ void (*fn)(const char *path,
+ uint32_t *vnns, size_t num_vnns,
+ void *private_data),
+ void *private_data);
+void notify_walk(struct notify_context *notify,
+ void (*fn)(const char *path,
+ struct notify_db_entry *entries,
+ size_t num_entries,
+ time_t deleted_time, void *private_data),
+ void *private_data);
+void notify_cleanup(struct notify_context *notify);
+
+struct tevent_req *notify_cluster_proxy_send(
+ TALLOC_CTX *mem_ctx, struct tevent_context *ev,
+ struct notify_context *notify);
+int notify_cluster_proxy_recv(struct tevent_req *req);
/* The following definitions come from smbd/ntquotas.c */