X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fmissing.h;h=ecd32babed34061f1b2c791fc351002a95dddcd4;hb=b5884878a2874447b2a9f07f324a7cd909d96d48;hp=bb4f8f23a8c2d7138de00e9067fa833b0a47b8b9;hpb=a5f035960006556beab51c42e6948985635e261a;p=elogind.git diff --git a/src/shared/missing.h b/src/shared/missing.h index bb4f8f23a..ecd32babe 100644 --- a/src/shared/missing.h +++ b/src/shared/missing.h @@ -33,6 +33,7 @@ #include #include #include +#include #ifdef HAVE_AUDIT #include @@ -74,7 +75,11 @@ #endif #ifndef MFD_ALLOW_SEALING -#define MFD_ALLOW_SEALING 0x0002ULL +#define MFD_ALLOW_SEALING 0x0002U +#endif + +#ifndef MFD_CLOEXEC +#define MFD_CLOEXEC 0x0001U #endif #ifndef IP_FREEBIND @@ -115,21 +120,22 @@ static inline int pivot_root(const char *new_root, const char *put_old) { } #endif -#ifdef __x86_64__ -# ifndef __NR_memfd_create +#ifndef __NR_memfd_create +# if defined __x86_64__ # define __NR_memfd_create 319 -# endif -#elif defined __arm__ -# ifndef __NR_memfd_create +# elif defined __arm__ # define __NR_memfd_create 385 -# endif -#elif defined _MIPS_SIM -# ifndef __NR_memfd_create -# warning "__NR_memfd_create not yet defined for MIPS" -# define __NR_memfd_create 0xffffffff -# endif -#else -# ifndef __NR_memfd_create +# elif defined _MIPS_SIM +# if _MIPS_SIM == _MIPS_SIM_ABI32 +# define __NR_memfd_create 4354 +# endif +# if _MIPS_SIM == _MIPS_SIM_NABI32 +# define __NR_memfd_create 6318 +# endif +# if _MIPS_SIM == _MIPS_SIM_ABI64 +# define __NR_memfd_create 5314 +# endif +# else # define __NR_memfd_create 356 # endif #endif @@ -140,6 +146,29 @@ static inline int memfd_create(const char *name, unsigned int flags) { } #endif +#ifndef __NR_getrandom +# if defined __x86_64__ +# define __NR_getrandom 318 +# else +# warning "__NR_getrandom unknown for your architecture" +# define __NR_getrandom 0xffffffff +# endif +#endif + +#if !HAVE_DECL_GETRANDOM +static inline int getrandom(void *buffer, size_t count, unsigned flags) { + return syscall(__NR_getrandom, buffer, count, flags); +} +#endif + +#ifndef GRND_NONBLOCK +#define GRND_NONBLOCK 0x0001 +#endif + +#ifndef GRND_RANDOM +#define GRND_RANDOM 0x0002 +#endif + #ifndef BTRFS_IOCTL_MAGIC #define BTRFS_IOCTL_MAGIC 0x94 #endif @@ -411,7 +440,7 @@ static inline int setns(int fd, int nstype) { #define IFLA_BOND_AD_INFO 23 #define __IFLA_BOND_MAX 24 -#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) +#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) #endif #if !HAVE_DECL_IFLA_VLAN_PROTOCOL @@ -536,3 +565,11 @@ static inline int setns(int fd, int nstype) { #ifndef LOOPBACK_IFINDEX #define LOOPBACK_IFINDEX 1 #endif + +#ifndef MAX_AUDIT_MESSAGE_LENGTH +#define MAX_AUDIT_MESSAGE_LENGTH 8970 +#endif + +#ifndef AUDIT_NLGRP_MAX +#define AUDIT_NLGRP_READLOG 1 +#endif