#include "replace.h"
#include <tevent.h>
+#include "notifyd_private.h"
#include "lib/util/server_id.h"
#include "lib/util/data_blob.h"
#include "librpc/gen_ndr/notify.h"
struct sys_notify_context *sys_notify_ctx;
};
-/*
- * notifyd's representation of a notify instance
- */
-struct notifyd_instance {
- struct server_id client;
- struct notify_instance instance;
-
- void *sys_watch; /* inotify/fam/etc handle */
-
- /*
- * Filters after sys_watch took responsibility of some bits
- */
- uint32_t internal_filter;
- uint32_t internal_subdir_filter;
-};
-
struct notifyd_peer {
struct notifyd_state *state;
struct server_id pid;
return tevent_req_simple_recv_unix(req);
}
-/*
- * Parse an entry in the notifyd_context->entries database
- */
-
-static bool notifyd_parse_entry(uint8_t *buf, size_t buflen,
- struct notifyd_instance **instances,
- size_t *num_instances)
-{
- if ((buflen % sizeof(struct notifyd_instance)) != 0) {
- DBG_WARNING("invalid buffer size: %zu\n", buflen);
- return false;
- }
-
- if (instances != NULL) {
- *instances = (struct notifyd_instance *)buf;
- }
- if (num_instances != NULL) {
- *num_instances = buflen / sizeof(struct notifyd_instance);
- }
- return true;
-}
-
static bool notifyd_apply_rec_change(
const struct server_id *client,
const char *path, size_t pathlen,
--- /dev/null
+/*
+ * 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 "replace.h"
+#include "lib/util/debug.h"
+#include "notifyd_private.h"
+
+/*
+ * Parse an entry in the notifyd_context->entries database
+ */
+
+bool notifyd_parse_entry(
+ uint8_t *buf,
+ size_t buflen,
+ struct notifyd_instance **instances,
+ size_t *num_instances)
+{
+ if ((buflen % sizeof(struct notifyd_instance)) != 0) {
+ DBG_WARNING("invalid buffer size: %zu\n", buflen);
+ return false;
+ }
+
+ if (instances != NULL) {
+ *instances = (struct notifyd_instance *)buf;
+ }
+ if (num_instances != NULL) {
+ *num_instances = buflen / sizeof(struct notifyd_instance);
+ }
+ return true;
+}
--- /dev/null
+/*
+ * 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/>.
+ */
+
+#ifndef __NOTIFYD_PRIVATE_H__
+#define __NOTIFYD_PRIVATE_H__
+
+#include "replace.h"
+#include "lib/util/server_id.h"
+#include "notifyd.h"
+
+/*
+ * notifyd's representation of a notify instance
+ */
+struct notifyd_instance {
+ struct server_id client;
+ struct notify_instance instance;
+
+ void *sys_watch; /* inotify/fam/etc handle */
+
+ /*
+ * Filters after sys_watch took responsibility of some bits
+ */
+ uint32_t internal_filter;
+ uint32_t internal_subdir_filter;
+};
+
+/*
+ * Parse an entry in the notifyd_context->entries database
+ */
+
+bool notifyd_parse_entry(
+ uint8_t *buf,
+ size_t buflen,
+ struct notifyd_instance **instances,
+ size_t *num_instances);
+
+#endif
#!/usr/bin/env python
+bld.SAMBA3_SUBSYSTEM('notifyd_db',
+ source='notifyd_entry.c',
+ deps='samba-debug')
+
bld.SAMBA3_SUBSYSTEM('notifyd',
source='notifyd.c',
- deps='util_tdb TDB_LIB messages_util')
+ deps='''
+ util_tdb
+ TDB_LIB
+ messages_util
+ notifyd_db
+ ''')
bld.SAMBA3_BINARY('notifyd-tests',
source='tests.c',