X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fmissing.h;h=bb4f8f23a8c2d7138de00e9067fa833b0a47b8b9;hb=7ad63f57b6ce7ae9e3cc19dcb441f0a4494fa3f2;hp=3ff1a21720835e3cb7993606afa458d07cdbea4a;hpb=630a4d9ea7298fb4a494662cbb4871069143ff56;p=elogind.git diff --git a/src/shared/missing.h b/src/shared/missing.h index 3ff1a2172..bb4f8f23a 100644 --- a/src/shared/missing.h +++ b/src/shared/missing.h @@ -33,7 +33,6 @@ #include #include #include -#include #ifdef HAVE_AUDIT #include @@ -66,25 +65,11 @@ #ifndef F_ADD_SEALS #define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -#endif - -#ifndef F_GET_SEALS #define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -#endif -#ifndef F_SEAL_SEAL #define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ -#endif - -#ifndef F_SEAL_SHRINK #define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ -#endif - -#ifndef F_SEAL_GROW #define F_SEAL_GROW 0x0004 /* prevent file from growing */ -#endif - -#ifndef F_SEAL_WRITE #define F_SEAL_WRITE 0x0008 /* prevent writes */ #endif @@ -131,12 +116,6 @@ static inline int pivot_root(const char *new_root, const char *put_old) { #endif #ifdef __x86_64__ -# ifndef __NR_fanotify_init -# define __NR_fanotify_init 300 -# endif -# ifndef __NR_fanotify_mark -# define __NR_fanotify_mark 301 -# endif # ifndef __NR_memfd_create # define __NR_memfd_create 319 # endif @@ -145,67 +124,18 @@ static inline int pivot_root(const char *new_root, const char *put_old) { # define __NR_memfd_create 385 # endif #elif defined _MIPS_SIM -# if _MIPS_SIM == _MIPS_SIM_ABI32 -# ifndef __NR_fanotify_init -# define __NR_fanotify_init 4336 -# endif -# ifndef __NR_fanotify_mark -# define __NR_fanotify_mark 4337 -# endif -# elif _MIPS_SIM == _MIPS_SIM_NABI32 -# ifndef __NR_fanotify_init -# define __NR_fanotify_init 6300 -# endif -# ifndef __NR_fanotify_mark -# define __NR_fanotify_mark 6301 -# endif -# elif _MIPS_SIM == _MIPS_SIM_ABI64 -# ifndef __NR_fanotify_init -# define __NR_fanotify_init 5295 -# endif -# ifndef __NR_fanotify_mark -# define __NR_fanotify_mark 5296 -# endif +# ifndef __NR_memfd_create +# warning "__NR_memfd_create not yet defined for MIPS" +# define __NR_memfd_create 0xffffffff # endif #else -# ifndef __NR_fanotify_init -# define __NR_fanotify_init 338 -# endif -# ifndef __NR_fanotify_mark -# define __NR_fanotify_mark 339 -# endif # ifndef __NR_memfd_create # define __NR_memfd_create 356 # endif #endif -#ifndef HAVE_FANOTIFY_INIT -static inline int fanotify_init(unsigned int flags, unsigned int event_f_flags) { - return syscall(__NR_fanotify_init, flags, event_f_flags); -} -#endif - -#ifndef HAVE_FANOTIFY_MARK -static inline int fanotify_mark(int fanotify_fd, unsigned int flags, uint64_t mask, - int dfd, const char *pathname) { -#if defined _MIPS_SIM && _MIPS_SIM == _MIPS_SIM_ABI32 || defined __powerpc__ && !defined __powerpc64__ \ - || defined __arm__ && !defined __aarch64__ - union { - uint64_t _64; - uint32_t _32[2]; - } _mask; - _mask._64 = mask; - - return syscall(__NR_fanotify_mark, fanotify_fd, flags, - _mask._32[0], _mask._32[1], dfd, pathname); -#else - return syscall(__NR_fanotify_mark, fanotify_fd, flags, mask, dfd, pathname); -#endif -} -#endif - #ifndef HAVE_MEMFD_CREATE -static inline int memfd_create(const char *name, uint64_t flags) { +static inline int memfd_create(const char *name, unsigned int flags) { return syscall(__NR_memfd_create, name, flags); } #endif @@ -554,6 +484,10 @@ static inline int setns(int fd, int nstype) { #define IPV6_UNICAST_IF 76 #endif +#ifndef IFF_MULTI_QUEUE +#define IFF_MULTI_QUEUE 0x100 +#endif + #ifndef IFF_LOWER_UP #define IFF_LOWER_UP 0x10000 #endif @@ -589,3 +523,16 @@ static inline int setns(int fd, int nstype) { #ifndef NET_NAME_RENAMED # define NET_NAME_RENAMED 4 #endif + +#ifndef BPF_XOR +# define BPF_XOR 0xa0 +#endif + +/* Note that LOOPBACK_IFINDEX is currently not exported by the + * kernel/glibc, but hardcoded internally by the kernel. However, as + * it is exported to userspace indirectly via rtnetlink and the + * ioctls, and made use of widely we define it here too, in a way that + * is compatible with the kernel's internal definition. */ +#ifndef LOOPBACK_IFINDEX +#define LOOPBACK_IFINDEX 1 +#endif