-/* This is an internal glibc function call. We are not supposed to
- * call this, because we are not nscd. However sometimes we feel
- * really dangerous and do it nonetheless. Muahahah! But at least we
- * protect this with a weak ref just in case glibc takes this away
- * from us. */
+#ifdef __x86_64__
+#ifndef __NR_fanotify_init
+#define __NR_fanotify_init 300
+#endif
+#ifndef __NR_fanotify_mark
+#define __NR_fanotify_mark 301
+#endif
+#else
+#ifndef __NR_fanotify_init
+#define __NR_fanotify_init 338
+#endif
+#ifndef __NR_fanotify_mark
+#define __NR_fanotify_mark 339
+#endif
+#endif
+
+static inline int fanotify_init(unsigned int flags, unsigned int event_f_flags) {
+ return syscall(__NR_fanotify_init, flags, event_f_flags);
+}
+
+static inline int fanotify_mark(int fanotify_fd, unsigned int flags, uint64_t mask,
+ int dfd, const char *pathname) {
+ return syscall(__NR_fanotify_mark, fanotify_fd, flags, mask, dfd, pathname);
+}
+
+#ifndef BTRFS_IOCTL_MAGIC
+#define BTRFS_IOCTL_MAGIC 0x94
+#endif