missing.h revision a6082d778ee4b97ec3eb6d3266cefc024c5d60f7
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering This file is part of systemd.
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering Copyright 2010 Lennart Poettering
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering systemd is free software; you can redistribute it and/or modify it
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering under the terms of the GNU Lesser General Public License as published by
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering (at your option) any later version.
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering systemd is distributed in the hope that it will be useful, but
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering Lesser General Public License for more details.
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering You should have received a copy of the GNU Lesser General Public License
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
1716f6dcf54d4c181c2e2558e3d5414f54c8d9caLennart Poettering/* Missing glibc definitions to access certain kernel APIs */
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering/* If RLIMIT_RTTIME is not defined, then we cannot use RLIMIT_NLIMITS as is */
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering#define _RLIMIT_MAX (RLIMIT_RTTIME+1 > RLIMIT_NLIMITS ? RLIMIT_RTTIME+1 : RLIMIT_NLIMITS)
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7)
eed857b71702f8551b46b66b31fa0d08583cf23cLennart Poettering#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
a51c10485af349eb15faa4d1a63b9818bcf3e589Lennart Poettering#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
b4f1862df2e45aba90386887d685b8bf3c840e10Daniel Mack#define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */
74b2466e14a1961bf3ac0e8a60cfaceec705bd59Lennart Poettering#define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
1c4baffc1895809bae9ac36b670af90a4cb9cd7dTom Gundersen#define F_SEAL_GROW 0x0004 /* prevent file from growing */
ec2c5e4398f9d65e5dfe61530f2556224733d1e6Lennart Poettering#define F_SEAL_WRITE 0x0008 /* prevent writes */
#ifndef OOM_SCORE_ADJ_MAX
#ifndef AUDIT_SERVICE_START
#ifndef AUDIT_SERVICE_STOP
#ifndef TIOCVHANGUP
#ifndef IP_TRANSPARENT
#ifndef SOL_NETLINK
#if !HAVE_DECL_PIVOT_ROOT
#ifdef __x86_64__
# ifndef __NR_fanotify_init
# ifndef __NR_fanotify_mark
# ifndef __NR_memfd_create
# ifndef __NR_memfd_create
# ifndef __NR_fanotify_init
# ifndef __NR_fanotify_mark
# ifndef __NR_fanotify_init
# ifndef __NR_fanotify_mark
# ifndef __NR_fanotify_init
# ifndef __NR_fanotify_mark
# ifndef __NR_fanotify_init
# ifndef __NR_fanotify_mark
# ifndef __NR_memfd_create
#ifndef HAVE_FANOTIFY_INIT
#ifndef HAVE_FANOTIFY_MARK
#if defined _MIPS_SIM && _MIPS_SIM == _MIPS_SIM_ABI32 || defined __powerpc__ && !defined __powerpc64__ \
} _mask;
#ifndef HAVE_MEMFD_CREATE
#ifndef BTRFS_IOCTL_MAGIC
#ifndef BTRFS_PATH_NAME_MAX
#ifndef BTRFS_DEVICE_PATH_NAME_MAX
#ifndef BTRFS_FSID_SIZE
#ifndef BTRFS_UUID_SIZE
#ifndef HAVE_LINUX_BTRFS_H
struct btrfs_ioctl_vol_args {
struct btrfs_ioctl_dev_info_args {
struct btrfs_ioctl_fs_info_args {
#ifndef BTRFS_IOC_DEFRAG
struct btrfs_ioctl_vol_args)
#ifndef BTRFS_IOC_DEV_INFO
struct btrfs_ioctl_dev_info_args)
#ifndef BTRFS_IOC_FS_INFO
struct btrfs_ioctl_fs_info_args)
#ifndef BTRFS_IOC_DEVICES_READY
struct btrfs_ioctl_vol_args)
#ifndef BTRFS_SUPER_MAGIC
#ifndef MS_MOVE
#ifndef MS_PRIVATE
#if !HAVE_DECL_GETTID
#ifndef SCM_SECURITY
#ifndef MS_STRICTATIME
#ifndef MS_REC
#ifndef MS_SHARED
#ifndef PR_SET_NO_NEW_PRIVS
#ifndef PR_SET_CHILD_SUBREAPER
#ifndef MAX_HANDLE_SZ
#ifndef __NR_name_to_handle_at
# if defined(__x86_64__)
struct file_handle {
unsigned int handle_bytes;
int handle_type;
unsigned char f_handle[0];
static inline int name_to_handle_at(int fd, const char *name, struct file_handle *handle, int *mnt_id, int flags) {
#ifndef HAVE_SECURE_GETENV
# ifdef HAVE___SECURE_GETENV
#ifndef CIFS_MAGIC_NUMBER
#ifndef TFD_TIMER_CANCEL_ON_SET
#ifndef SO_REUSEPORT
#ifndef EVIOCREVOKE
#ifndef DRM_IOCTL_SET_MASTER
#ifndef DRM_IOCTL_DROP_MASTER
#ifndef __O_TMPFILE
#ifndef O_TMPFILE
#ifndef __NR_setns
# if defined(__x86_64__)
#if !HAVE_DECL_SETNS
#ifndef LOOP_CTL_REMOVE
#ifndef LOOP_CTL_GET_FREE
#define IFLA_MACVLAN_UNSPEC 0
#define IFLA_VTI_UNSPEC 0
#define IFLA_BOND_UNSPEC 0
#define IFLA_VLAN_UNSPEC 0
#define IFLA_VXLAN_UNSPEC 0
#define IFLA_IPTUN_UNSPEC 0
#define IFLA_BRIDGE_FLAGS 0
#ifndef IPV6_UNICAST_IF
#ifndef IFF_LOWER_UP
#ifndef IFF_DORMANT
#ifndef BOND_XMIT_POLICY_ENCAP23
#ifndef BOND_XMIT_POLICY_ENCAP34
#ifndef NET_ADDR_RANDOM
#ifndef NET_NAME_ENUM
#ifndef NET_NAME_PREDICTABLE
#ifndef NET_NAME_USER
#ifndef NET_NAME_RENAMED