struct sys_notify_context *sys_ctx;
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev);
+ struct notify_event *ev,
+ uint32_t filter);
void *private_data;
uint32_t mask; /* the inotify mask */
uint32_t filter; /* the windows completion filter */
}
ne.dir = ctx->path;
- ctx->callback(ctx->sys_ctx, ctx->private_data, &ne);
+ ctx->callback(ctx->sys_ctx, ctx->private_data, &ne, UINT32_MAX);
}
static int fam_watch_context_destructor(struct fam_watch_context *ctx)
uint32_t *subdir_filter,
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev),
+ struct notify_event *ev,
+ uint32_t filter),
void *private_data,
void *handle_p)
{
int wd;
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev);
+ struct notify_event *ev,
+ uint32_t filter);
void *private_data;
uint32_t mask; /* the inotify mask */
uint32_t filter; /* the windows completion filter */
next = w->next;
if (w->wd == e->wd && filter_match(w, e)) {
ne.dir = w->path;
- w->callback(in->ctx, w->private_data, &ne);
+ w->callback(in->ctx, w->private_data, &ne, UINT32_MAX);
}
}
if (w->wd == e->wd && filter_match(w, e) &&
!(w->filter & FILE_NOTIFY_CHANGE_CREATION)) {
ne.dir = w->path;
- w->callback(in->ctx, w->private_data, &ne);
+ w->callback(in->ctx, w->private_data, &ne,
+ UINT32_MAX);
}
}
}
uint32_t *subdir_filter,
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev),
+ struct notify_event *ev,
+ uint32_t filter),
void *private_data,
void *handle_p)
{
struct messaging_reclog *log);
#endif
static void notifyd_sys_callback(struct sys_notify_context *ctx,
- void *private_data, struct notify_event *ev);
+ void *private_data, struct notify_event *ev,
+ uint32_t filter);
#ifdef CLUSTER_SUPPORT
static struct tevent_req *notifyd_broadcast_reclog_send(
uint32_t *subdir_filter,
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev),
+ struct notify_event *ev,
+ uint32_t filter),
void *private_data,
void *handle_p)
{
}
static void notifyd_sys_callback(struct sys_notify_context *ctx,
- void *private_data, struct notify_event *ev)
+ void *private_data, struct notify_event *ev,
+ uint32_t filter)
{
struct messaging_context *msg_ctx = talloc_get_type_abort(
private_data, struct messaging_context);
msg = (struct notify_trigger_msg) {
.when = timespec_current(),
.action = ev->action,
- .filter = UINT32_MAX
+ .filter = filter,
};
iov[0].iov_base = &msg;
uint32_t *subdir_filter,
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev),
+ struct notify_event *ev,
+ uint32_t filter),
void *private_data,
void *handle_p);
uint32_t *subdir_filter,
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev),
+ struct notify_event *ev,
+ uint32_t filter),
void *private_data,
void *handle_p);
uint32_t *subdir_filter,
void (*callback)(struct sys_notify_context *ctx,
void *private_data,
- struct notify_event *ev),
+ struct notify_event *ev,
+ uint32_t filter),
void *private_data,
void *handle_p);