From 8614319bbec3e912df442be40ea531fe3720b315 Mon Sep 17 00:00:00 2001 From: Justin Maggard Date: Wed, 11 Feb 2009 19:50:40 +0000 Subject: [PATCH] * Just moving some files around. --- inotify.c | 4 +- linux/inotify-syscalls.h | 61 +++++++++++++++++++ linux/inotify.h | 108 ++++++++++++++++++++++++++++++++++ linux/minidlna.init.d.script | 33 +++++++++++ linux/miniupnpd.init.d.script | 40 ------------- 5 files changed, 204 insertions(+), 42 deletions(-) create mode 100644 linux/inotify-syscalls.h create mode 100644 linux/inotify.h create mode 100644 linux/minidlna.init.d.script delete mode 100644 linux/miniupnpd.init.d.script diff --git a/inotify.c b/inotify.c index 63be69e..b74c8cf 100644 --- a/inotify.c +++ b/inotify.c @@ -10,8 +10,8 @@ #ifdef HAVE_INOTIFY_H #include #else -#include "inotify-includes/inotify.h" -#include "inotify-includes/inotify-syscalls.h" +#include "linux/inotify.h" +#include "linux/inotify-syscalls.h" #endif #include "upnpglobalvars.h" diff --git a/linux/inotify-syscalls.h b/linux/inotify-syscalls.h new file mode 100644 index 0000000..1431d46 --- /dev/null +++ b/linux/inotify-syscalls.h @@ -0,0 +1,61 @@ +#ifndef _LINUX_INOTIFY_SYSCALLS_H +#define _LINUX_INOTIFY_SYSCALLS_H + +#include + +#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 316 +# define __NR_inotify_add_watch 317 +# define __NR_inotify_rm_watch 318 +#elif defined (__sh__) +# define __NR_inotify_init 290 +# define __NR_inotify_add_watch 291 +# define __NR_inotify_rm_watch 292 +#else +# error "Unsupported 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 */ diff --git a/linux/inotify.h b/linux/inotify.h new file mode 100644 index 0000000..a40c2bf --- /dev/null +++ b/linux/inotify.h @@ -0,0 +1,108 @@ +/* + * Inode based directory notification for Linux + * + * Copyright (C) 2005 John McCutchan + */ + +#ifndef _LINUX_INOTIFY_H +#define _LINUX_INOTIFY_H + +#include + +/* + * 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 */ + +/* 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_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) + +#ifdef __KERNEL__ + +#include +#include +#include + +#ifdef CONFIG_INOTIFY + +extern void inotify_inode_queue_event(struct inode *, __u32, __u32, + const char *); +extern void inotify_dentry_parent_queue_event(struct dentry *, __u32, __u32, + const char *); +extern void inotify_unmount_inodes(struct list_head *); +extern void inotify_inode_is_dead(struct inode *); +extern u32 inotify_get_cookie(void); + +#else + +static inline void inotify_inode_queue_event(struct inode *inode, + __u32 mask, __u32 cookie, + const char *filename) +{ +} + +static inline void inotify_dentry_parent_queue_event(struct dentry *dentry, + __u32 mask, __u32 cookie, + const char *filename) +{ +} + +static inline void inotify_unmount_inodes(struct list_head *list) +{ +} + +static inline void inotify_inode_is_dead(struct inode *inode) +{ +} + +static inline u32 inotify_get_cookie(void) +{ + return 0; +} + +#endif /* CONFIG_INOTIFY */ + +#endif /* __KERNEL __ */ + +#endif /* _LINUX_INOTIFY_H */ diff --git a/linux/minidlna.init.d.script b/linux/minidlna.init.d.script new file mode 100644 index 0000000..e7a98bd --- /dev/null +++ b/linux/minidlna.init.d.script @@ -0,0 +1,33 @@ +#!/bin/sh +# $Id$ +# MiniUPnP project +# author: Thomas Bernard +# website: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ + +MINIDLNA=/usr/sbin/minidlna +ARGS='-f /etc/minidlna.conf' + +test -f $MINIDLNA || exit 0 + +. /lib/lsb/init-functions + +case "$1" in +start) log_daemon_msg "Starting minidlna" "minidlna" + start-stop-daemon --start --quiet --pidfile /var/run/minidlna.pid --startas $MINIDLNA -- $ARGS $LSBNAMES + log_end_msg $? + ;; +stop) log_daemon_msg "Stopping minidlna" "minidlna" + start-stop-daemon --stop --quiet --pidfile /var/run/minidlna.pid + log_end_msg $? + ;; +restart|reload|force-reload) + log_daemon_msg "Restarting minidlna" "minidlna" + start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/minidlna.pid + start-stop-daemon --start --quiet --pidfile /var/run/minidlna.pid --startas $MINIDLNA -- $ARGS $LSBNAMES + log_end_msg $? + ;; +*) log_action_msg "Usage: /etc/init.d/minidlna {start|stop|restart|reload|force-reload}" + exit 2 + ;; +esac +exit 0 diff --git a/linux/miniupnpd.init.d.script b/linux/miniupnpd.init.d.script deleted file mode 100644 index 1f25cf0..0000000 --- a/linux/miniupnpd.init.d.script +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# $Id$ -# MiniUPnP project -# author: Thomas Bernard -# website: http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ - -MINIUPNPD=/usr/sbin/miniupnpd -ARGS='-f /etc/miniupnpd/miniupnpd.conf' - -IPTABLES_CREATE=/etc/miniupnpd/iptables_init.sh -IPTABLES_REMOVE=/etc/miniupnpd/iptables_removeall.sh - -test -f $MINIUPNPD || exit 0 - -. /lib/lsb/init-functions - -case "$1" in -start) log_daemon_msg "Starting miniupnpd" "miniupnpd" - $IPTABLES_CREATE > /dev/null 2>&1 - start-stop-daemon --start --quiet --pidfile /var/run/miniupnpd.pid --startas $MINIUPNPD -- $ARGS $LSBNAMES - log_end_msg $? - ;; -stop) log_daemon_msg "Stopping miniupnpd" "miniupnpd" - start-stop-daemon --stop --quiet --pidfile /var/run/miniupnpd.pid - log_end_msg $? - $IPTABLES_REMOVE > /dev/null 2>&1 - ;; -restart|reload|force-reload) - log_daemon_msg "Restarting miniupnpd" "miniupnpd" - start-stop-daemon --stop --retry 5 --quiet --pidfile /var/run/miniupnpd.pid - $IPTABLES_REMOVE > /dev/null 2>&1 - $IPTABLES_CREATE > /dev/null 2>&1 - start-stop-daemon --start --quiet --pidfile /var/run/miniupnpd.pid --startas $MINIUPNPD -- $ARGS $LSBNAMES - log_end_msg $? - ;; -*) log_action_msg "Usage: /etc/init.d/miniupnpd {start|stop|restart|reload|force-reload}" - exit 2 - ;; -esac -exit 0