[Pommed-commits] r378 - in trunk: gpomme pommed
jblache at alioth.debian.org
jblache at alioth.debian.org
Fri Nov 16 21:50:10 UTC 2007
Author: jblache
Date: 2007-11-16 21:50:10 +0000 (Fri, 16 Nov 2007)
New Revision: 378
Added:
trunk/gpomme/inotify-syscalls.h
trunk/pommed/inotify-syscalls.h
Modified:
trunk/gpomme/Makefile
trunk/gpomme/conffile.c
trunk/gpomme/gpomme.c
trunk/pommed/Makefile
trunk/pommed/evdev.c
Log:
Add (back) compat inotify definitions for older glibc which do not have the inotify syscalls defined.
Modified: trunk/gpomme/Makefile
===================================================================
--- trunk/gpomme/Makefile 2007-11-16 18:44:29 UTC (rev 377)
+++ trunk/gpomme/Makefile 2007-11-16 21:50:10 UTC (rev 378)
@@ -12,6 +12,8 @@
CONFUSE_CFLAGS = $(shell pkg-config libconfuse --cflags)
CONFUSE_LIBS = $(shell pkg-config libconfuse --libs)
+INOTIFY_CFLAGS = $(shell test -e /usr/include/sys/inotify.h || echo -DNO_SYS_INOTIFY_H)
+
CFLAGS = -g -O2 -Wall $(DBUS_CFLAGS) $(GTK_CFLAGS) $(CONFUSE_CFLAGS) $(GLADE_CFLAGS)
LDFLAGS = -lpthread $(DBUS_LIBS) $(GTK_LIBS) $(CONFUSE_LIBS) $(GLADE_LIBS)
Modified: trunk/gpomme/conffile.c
===================================================================
--- trunk/gpomme/conffile.c 2007-11-16 18:44:29 UTC (rev 377)
+++ trunk/gpomme/conffile.c 2007-11-16 21:50:10 UTC (rev 378)
@@ -33,7 +33,12 @@
#include <dirent.h>
#include <libintl.h>
-#include <sys/inotify.h>
+#ifndef NO_SYS_INOTIFY_H
+# include <sys/inotify.h>
+#else
+# include <linux/inotify.h>
+# include "inotify-syscalls.h"
+#endif
#include <confuse.h>
Modified: trunk/gpomme/gpomme.c
===================================================================
--- trunk/gpomme/gpomme.c 2007-11-16 18:44:29 UTC (rev 377)
+++ trunk/gpomme/gpomme.c 2007-11-16 21:50:10 UTC (rev 378)
@@ -30,7 +30,12 @@
#include <unistd.h>
#include <signal.h>
-#include <sys/inotify.h>
+#ifndef NO_SYS_INOTIFY_H
+# include <sys/inotify.h>
+#else
+# include <linux/inotify.h>
+# include "inotify-syscalls.h"
+#endif
#include <libintl.h>
Added: trunk/gpomme/inotify-syscalls.h
===================================================================
--- trunk/gpomme/inotify-syscalls.h (rev 0)
+++ trunk/gpomme/inotify-syscalls.h 2007-11-16 21:50:10 UTC (rev 378)
@@ -0,0 +1,98 @@
+/*
+ * 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 Tobias Klauser <tklauser at distanz.ch>
+ */
+
+#ifndef _LINUX_INOTIFY_SYSCALLS_H
+#define _LINUX_INOTIFY_SYSCALLS_H
+
+#include <sys/syscall.h>
+
+#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_OABI_SYSCALL_BASE 0x900000
+# if defined(__thumb__) || defined(__ARM_EABI__)
+# define __NR_SYSCALL_BASE 0
+# else
+# define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE
+# endif
+# 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 (__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
+#else
+# error "inotify not supported on this architecture!"
+#endif
+
+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 */
Modified: trunk/pommed/Makefile
===================================================================
--- trunk/pommed/Makefile 2007-11-16 18:44:29 UTC (rev 377)
+++ trunk/pommed/Makefile 2007-11-16 21:50:10 UTC (rev 378)
@@ -14,8 +14,10 @@
CONFUSE_CFLAGS = $(shell pkg-config libconfuse --cflags)
CONFUSE_LIBS = $(shell pkg-config libconfuse --libs)
-CFLAGS = -g -O2 -Wall $(DBUS_CFLAGS) $(ALSA_CFLAGS) $(AUDIOFILE_CFLAGS) $(CONFUSE_CFLAGS)
+INOTIFY_CFLAGS = $(shell test -e /usr/include/sys/inotify.h || echo -DNO_SYS_INOTIFY_H)
+CFLAGS = -g -O2 -Wall $(DBUS_CFLAGS) $(ALSA_CFLAGS) $(AUDIOFILE_CFLAGS) $(CONFUSE_CFLAGS) $(INOTIFY_CFLAGS)
+
ifeq ($(ARCH), ppc)
OFLIB ?=
Modified: trunk/pommed/evdev.c
===================================================================
--- trunk/pommed/evdev.c 2007-11-16 18:44:29 UTC (rev 377)
+++ trunk/pommed/evdev.c 2007-11-16 21:50:10 UTC (rev 378)
@@ -32,8 +32,14 @@
#include <errno.h>
#include <sys/epoll.h>
-#include <sys/inotify.h>
+#ifndef NO_SYS_INOTIFY_H
+# include <sys/inotify.h>
+#else
+# include <linux/inotify.h>
+# include "inotify-syscalls.h"
+#endif
+
#include <linux/input.h>
#include "pommed.h"
Added: trunk/pommed/inotify-syscalls.h
===================================================================
--- trunk/pommed/inotify-syscalls.h (rev 0)
+++ trunk/pommed/inotify-syscalls.h 2007-11-16 21:50:10 UTC (rev 378)
@@ -0,0 +1,98 @@
+/*
+ * 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 Tobias Klauser <tklauser at distanz.ch>
+ */
+
+#ifndef _LINUX_INOTIFY_SYSCALLS_H
+#define _LINUX_INOTIFY_SYSCALLS_H
+
+#include <sys/syscall.h>
+
+#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_OABI_SYSCALL_BASE 0x900000
+# if defined(__thumb__) || defined(__ARM_EABI__)
+# define __NR_SYSCALL_BASE 0
+# else
+# define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE
+# endif
+# 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 (__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
+#else
+# error "inotify not supported on this architecture!"
+#endif
+
+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 */
More information about the Pommed-commits
mailing list