X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev_libc_wrapper.h;h=21dbce6474fb1d44868f078edf22ec8457779320;hb=254efc14a40204969fcf861498fb8b62a16141d1;hp=9a8b26a2b38725787ed070cd6f4869ae22078959;hpb=c895fd002763d6ae808e820020dc54e74c347fc2;p=elogind.git diff --git a/udev_libc_wrapper.h b/udev_libc_wrapper.h index 9a8b26a2b..21dbce647 100644 --- a/udev_libc_wrapper.h +++ b/udev_libc_wrapper.h @@ -58,20 +58,54 @@ # 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 +# 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 +# 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 "Unsupported architecture!" +#warning "inotify unsupported on this architecture!" #endif #endif /* __NR_inotify_init */ +/* dummy if we don't have the syscalls defined */ +#ifndef __NR_inotify_init +static inline int inotify_init(void) +{ + return -1; +} + +static inline int inotify_add_watch(int fd, const char *name, uint32_t mask) +{ + return -1; +} +#else /* needed until /usr/include/sys/inotify.h is working */ -#ifdef __KLIBC__ +#ifndef __GLIBC__ #include #else static inline int inotify_init(void) @@ -83,13 +117,17 @@ static inline int inotify_add_watch(int fd, const char *name, uint32_t mask) { return syscall(__NR_inotify_add_watch, fd, name, mask); } +#endif /* __GLIBC__ */ +#endif /* __NR_inotify_init */ + +#ifndef IN_CREATE #define IN_CREATE 0x00000100 /* Subfile was created */ #define IN_MOVED_FROM 0x00000040 /* File was moved from X */ #define IN_MOVED_TO 0x00000080 /* File was moved to Y */ #define IN_DELETE 0x00000200 /* Subfile was deleted */ #define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed */ #define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */ -#endif /* __KLIBC__ */ +#endif /* IN_CREATE */ /* needed for our signal handlers to work */ #undef asmlinkage @@ -99,7 +137,7 @@ static inline int inotify_add_watch(int fd, const char *name, uint32_t mask) #define asmlinkage #endif /* __i386__ */ -/* headers are broken on some lazy platforms */ +/* headers are broken on some architectures */ #ifndef __FD_SET #define __FD_SET(d, set) ((set)->fds_bits[__FDELT(d)] |= __FDMASK(d)) #endif @@ -113,21 +151,16 @@ static inline int inotify_add_watch(int fd, const char *name, uint32_t mask) #define __FD_ZERO(set) ((void) memset ((void*) (set), 0, sizeof (fd_set))) #endif -/* missing in some lazy distros */ #ifndef NETLINK_KOBJECT_UEVENT -#define NETLINK_KOBJECT_UEVENT 15 +#define NETLINK_KOBJECT_UEVENT 15 #endif #ifndef SO_RCVBUFFORCE +#if defined(__alpha__) || defined(__hppa__) || defined(__sparc__) || defined(__sparc_v9__) +#define SO_RCVBUFFORCE 0x100b +#else #define SO_RCVBUFFORCE 33 #endif - -#ifdef __KLIBC__ -static inline int clearenv(void) -{ - environ[0] = NULL; - return 0; -} #endif extern uid_t lookup_user(const char *user);