summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README4
-rw-r--r--changelog4
-rw-r--r--inotail.c3
-rw-r--r--inotify-syscalls.h102
-rw-r--r--inotify.h69
5 files changed, 4 insertions, 178 deletions
diff --git a/README b/README
index 577584e..a4a200a 100644
--- a/README
+++ b/README
@@ -39,8 +39,4 @@ inotail is licensed under the terms of the GNU General Public License version 2
or later. You can find the full text in the file LICENSE in the source tree of
inotail.
-The files inotify.h and inotify-syscalls.h were taken from the source tree of
-the Linux kernel and slightly altered. Both are licensed under the terms of the
-GNU General Public License version 2.
-
-- Tobias Klauser <tklauser@distanz.ch>
diff --git a/changelog b/changelog
index 83696c2..3f0d9f7 100644
--- a/changelog
+++ b/changelog
@@ -3,9 +3,11 @@ inotail 0.6
* Correctly handle tailing from pipes
* Do not try to seek on pipes when following (thanks Alexander Sulfrian)
* Handle file truncation in follow mode
+ * Use sys/inotify.h instead of private copy of the inotify header (patch by
+ Adrian Bunk)
* Various small fixes
- -- Tobias Klauser <tklauser@distanz.ch> 2008-08-31 21:15
+ -- Tobias Klauser <tklauser@distanz.ch> 2008-09-23 09:46
inotail 0.5
diff --git a/inotail.c b/inotail.c
index 000b5c1..670d9fe 100644
--- a/inotail.c
+++ b/inotail.c
@@ -32,9 +32,8 @@
#include <getopt.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/inotify.h>
-#include "inotify.h"
-#include "inotify-syscalls.h"
#include "inotail.h"
#define PROGRAM_NAME "inotail"
diff --git a/inotify-syscalls.h b/inotify-syscalls.h
deleted file mode 100644
index 69144cb..0000000
--- a/inotify-syscalls.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Inotify syscall numbers
- * Taken from the Linux kernel source tree
- *
- * Licensed under the terms of the GNU General Public License Version 2.
- *
- * Copyright (c) 2006-2007 Tobias Klauser <tklauser@distanz.ch>
- */
-
-#ifndef _LINUX_INOTIFY_SYSCALLS_H
-#define _LINUX_INOTIFY_SYSCALLS_H
-
-#include <sys/syscall.h>
-/* glibc already defines them for some architectures */
-#ifndef __NR_inotify_init
-#if defined(__i386__)
-# define __NR_inotify_init 291
-# define __NR_inotify_add_watch 292
-# define __NR_inotify_rm_watch 293
-#elif defined(__x86_64__)
-# define __NR_inotify_init 253
-# define __NR_inotify_add_watch 254
-# define __NR_inotify_rm_watch 255
-#elif defined(__powerpc__) || defined(__powerpc64__)
-# define __NR_inotify_init 275
-# define __NR_inotify_add_watch 276
-# define __NR_inotify_rm_watch 277
-#elif defined (__ia64__)
-# define __NR_inotify_init 1277
-# define __NR_inotify_add_watch 1278
-# define __NR_inotify_rm_watch 1279
-#elif defined (__s390__)
-# define __NR_inotify_init 284
-# define __NR_inotify_add_watch 285
-# define __NR_inotify_rm_watch 286
-#elif defined (__alpha__)
-# define __NR_inotify_init 444
-# define __NR_inotify_add_watch 445
-# define __NR_inotify_rm_watch 446
-#elif defined (__sparc__) || defined (__sparc64__)
-# define __NR_inotify_init 151
-# define __NR_inotify_add_watch 152
-# define __NR_inotify_rm_watch 156
-#elif defined (__arm__)
-# define __NR_inotify_init (__NR_SYSCALL_BASE + 316)
-# define __NR_inotify_add_watch (__NR_SYSCALL_BASE + 317)
-# define __NR_inotify_rm_watch (__NR_SYSCALL_BASE + 318)
-#elif defined (__sh__)
-# define __NR_inotify_init 290
-# define __NR_inotify_add_watch 291
-# define __NR_inotify_rm_watch 292
-#elif defined (__m32r__)
-# define __NR_inotify_init 290
-# define __NR_inotify_add_watch 291
-# define __NR_inotify_rm_watch 292
-#elif defined (__hppa__)
-# define __NR_inotify_init 269
-# define __NR_inotify_add_watch 270
-# define __NR_inotify_rm_watch 271
-#elif defined (__mips__)
-# include <sgidefs.h>
-# if _MIPS_SIM == _MIPS_SIM_ABI32
-# define __NR_Linux 4000
-# define __NR_inotify_init (__NR_Linux + 284)
-# define __NR_inotify_add_watch (__NR_Linux + 285)
-# define __NR_inotify_rm_watch (__NR_Linux + 286)
-# elif _MIPS_SIM == _MIPS_SIM_ABI64
-# define __NR_Linux 5000
-# define __NR_inotify_init (__NR_Linux + 243)
-# define __NR_inotify_add_watch (__NR_Linux + 244)
-# define __NR_inotify_rm_watch (__NR_Linux + 245)
-# elif _MIPS_SIM == _MIPS_SIM_NABI32
-# define __NR_Linux 6000
-# define __NR_inotify_init (__NR_Linux + 247)
-# define __NR_inotify_add_watch (__NR_Linux + 248)
-# define __NR_inotify_rm_watch (__NR_Linux + 249)
-# endif
-#elif defined (__m68k__)
-# define __NR_inotify_init 284
-# define __NR_inotify_add_watch 285
-# define __NR_inotify_rm_watch 286
-#else
-# error "inotify not supported on this architecture!"
-#endif
-#endif /* __NR_inotify_init */
-
-static inline int inotify_init(void)
-{
- return syscall(__NR_inotify_init);
-}
-
-static inline int inotify_add_watch(int fd, const char *name, __u32 mask)
-{
- return syscall(__NR_inotify_add_watch, fd, name, mask);
-}
-
-static inline int inotify_rm_watch(int fd, __u32 wd)
-{
- return syscall(__NR_inotify_rm_watch, fd, wd);
-}
-
-#endif /* _LINUX_INOTIFY_SYSCALLS_H */
diff --git a/inotify.h b/inotify.h
deleted file mode 100644
index cd8062a..0000000
--- a/inotify.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Inode based directory notification for Linux
- * Taken from the Linux kernel source tree
- *
- * Licensed under the terms of the GNU General Public License Version 2.
- *
- * Copyright (C) 2005 John McCutchan
- */
-
-#ifndef _LINUX_INOTIFY_H
-#define _LINUX_INOTIFY_H
-
-#include <linux/types.h>
-
-/*
- * struct inotify_event - structure read from the inotify device for each event
- *
- * When you are watching a directory, you will receive the filename for events
- * such as IN_CREATE, IN_DELETE, IN_OPEN, IN_CLOSE, ..., relative to the wd.
- */
-struct inotify_event {
- __s32 wd; /* watch descriptor */
- __u32 mask; /* watch mask */
- __u32 cookie; /* cookie to synchronize two events */
- __u32 len; /* length (including nulls) of name */
- char name[0]; /* stub for possible name */
-};
-
-/* the following are legal, implemented events that user-space can watch for */
-#define IN_ACCESS 0x00000001 /* File was accessed */
-#define IN_MODIFY 0x00000002 /* File was modified */
-#define IN_ATTRIB 0x00000004 /* Metadata changed */
-#define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed */
-#define IN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */
-#define IN_OPEN 0x00000020 /* File was opened */
-#define IN_MOVED_FROM 0x00000040 /* File was moved from X */
-#define IN_MOVED_TO 0x00000080 /* File was moved to Y */
-#define IN_CREATE 0x00000100 /* Subfile was created */
-#define IN_DELETE 0x00000200 /* Subfile was deleted */
-#define IN_DELETE_SELF 0x00000400 /* Self was deleted */
-#define IN_MOVE_SELF 0x00000800 /* Self was moved */
-
-/* the following are legal events. they are sent as needed to any watch */
-#define IN_UNMOUNT 0x00002000 /* Backing fs was unmounted */
-#define IN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */
-#define IN_IGNORED 0x00008000 /* File was ignored */
-
-/* helper events */
-#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* close */
-#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */
-
-/* special flags */
-#define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */
-#define IN_DONT_FOLLOW 0x02000000 /* don't follow a sym link */
-#define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */
-#define IN_ISDIR 0x40000000 /* event occurred against dir */
-#define IN_ONESHOT 0x80000000 /* only send event once */
-
-/*
- * All of the events - we build the list by hand so that we can add flags in
- * the future and not break backward compatibility. Apps will get only the
- * events that they originally wanted. Be sure to add new events here!
- */
-#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \
- IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \
- IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | \
- IN_MOVE_SELF)
-
-#endif /* _LINUX_INOTIFY_H */