X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev_libc_wrapper.h;h=ed8070947fbe4a77cec2f10105b45b3fd28cc8c0;hp=9a8b26a2b38725787ed070cd6f4869ae22078959;hb=acc8322f1f8c081d36b3b1fd85903fb9ac68f0bb;hpb=c895fd002763d6ae808e820020dc54e74c347fc2 diff --git a/udev_libc_wrapper.h b/udev_libc_wrapper.h index 9a8b26a2b..ed8070947 100644 --- a/udev_libc_wrapper.h +++ b/udev_libc_wrapper.h @@ -65,11 +65,45 @@ # 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__ #include @@ -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 /* __KLIBC__ */ +#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 @@ -119,15 +157,11 @@ static inline int inotify_add_watch(int fd, const char *name, uint32_t mask) #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);