[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