You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
UAPI: (Scripted) Disintegrate include/asm-generic
Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Michael Kerrisk <mtk.manpages@gmail.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Dave Jones <davej@redhat.com>
This commit is contained in:
@@ -1,35 +0,0 @@
|
|||||||
header-y += auxvec.h
|
|
||||||
header-y += bitsperlong.h
|
|
||||||
header-y += errno-base.h
|
|
||||||
header-y += errno.h
|
|
||||||
header-y += fcntl.h
|
|
||||||
header-y += int-l64.h
|
|
||||||
header-y += int-ll64.h
|
|
||||||
header-y += ioctl.h
|
|
||||||
header-y += ioctls.h
|
|
||||||
header-y += ipcbuf.h
|
|
||||||
header-y += kvm_para.h
|
|
||||||
header-y += mman-common.h
|
|
||||||
header-y += mman.h
|
|
||||||
header-y += msgbuf.h
|
|
||||||
header-y += param.h
|
|
||||||
header-y += poll.h
|
|
||||||
header-y += posix_types.h
|
|
||||||
header-y += resource.h
|
|
||||||
header-y += sembuf.h
|
|
||||||
header-y += setup.h
|
|
||||||
header-y += shmbuf.h
|
|
||||||
header-y += shmparam.h
|
|
||||||
header-y += siginfo.h
|
|
||||||
header-y += signal-defs.h
|
|
||||||
header-y += signal.h
|
|
||||||
header-y += socket.h
|
|
||||||
header-y += sockios.h
|
|
||||||
header-y += stat.h
|
|
||||||
header-y += statfs.h
|
|
||||||
header-y += swab.h
|
|
||||||
header-y += termbits.h
|
|
||||||
header-y += termios.h
|
|
||||||
header-y += types.h
|
|
||||||
header-y += ucontext.h
|
|
||||||
header-y += unistd.h
|
|
||||||
|
|||||||
@@ -1,18 +1,8 @@
|
|||||||
#ifndef __ASM_GENERIC_BITS_PER_LONG
|
#ifndef __ASM_GENERIC_BITS_PER_LONG
|
||||||
#define __ASM_GENERIC_BITS_PER_LONG
|
#define __ASM_GENERIC_BITS_PER_LONG
|
||||||
|
|
||||||
/*
|
#include <uapi/asm-generic/bitsperlong.h>
|
||||||
* There seems to be no way of detecting this automatically from user
|
|
||||||
* space, so 64 bit architectures should override this in their
|
|
||||||
* bitsperlong.h. In particular, an architecture that supports
|
|
||||||
* both 32 and 64 bit user space must not rely on CONFIG_64BIT
|
|
||||||
* to decide it, but rather check a compiler provided macro.
|
|
||||||
*/
|
|
||||||
#ifndef __BITS_PER_LONG
|
|
||||||
#define __BITS_PER_LONG 32
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
#define BITS_PER_LONG 64
|
#define BITS_PER_LONG 64
|
||||||
@@ -32,5 +22,4 @@
|
|||||||
#define BITS_PER_LONG_LONG 64
|
#define BITS_PER_LONG_LONG 64
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
#endif /* __ASM_GENERIC_BITS_PER_LONG */
|
#endif /* __ASM_GENERIC_BITS_PER_LONG */
|
||||||
|
|||||||
@@ -4,33 +4,11 @@
|
|||||||
* Integer declarations for architectures which use "long"
|
* Integer declarations for architectures which use "long"
|
||||||
* for 64-bit types.
|
* for 64-bit types.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _ASM_GENERIC_INT_L64_H
|
#ifndef _ASM_GENERIC_INT_L64_H
|
||||||
#define _ASM_GENERIC_INT_L64_H
|
#define _ASM_GENERIC_INT_L64_H
|
||||||
|
|
||||||
#include <asm/bitsperlong.h>
|
#include <uapi/asm-generic/int-l64.h>
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
/*
|
|
||||||
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
|
|
||||||
* header files exported to user space
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef __signed__ char __s8;
|
|
||||||
typedef unsigned char __u8;
|
|
||||||
|
|
||||||
typedef __signed__ short __s16;
|
|
||||||
typedef unsigned short __u16;
|
|
||||||
|
|
||||||
typedef __signed__ int __s32;
|
|
||||||
typedef unsigned int __u32;
|
|
||||||
|
|
||||||
typedef __signed__ long __s64;
|
|
||||||
typedef unsigned long __u64;
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
@@ -68,6 +46,4 @@ typedef unsigned long u64;
|
|||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* _ASM_GENERIC_INT_L64_H */
|
#endif /* _ASM_GENERIC_INT_L64_H */
|
||||||
|
|||||||
@@ -4,38 +4,11 @@
|
|||||||
* Integer declarations for architectures which use "long long"
|
* Integer declarations for architectures which use "long long"
|
||||||
* for 64-bit types.
|
* for 64-bit types.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _ASM_GENERIC_INT_LL64_H
|
#ifndef _ASM_GENERIC_INT_LL64_H
|
||||||
#define _ASM_GENERIC_INT_LL64_H
|
#define _ASM_GENERIC_INT_LL64_H
|
||||||
|
|
||||||
#include <asm/bitsperlong.h>
|
#include <uapi/asm-generic/int-ll64.h>
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
|
||||||
/*
|
|
||||||
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
|
|
||||||
* header files exported to user space
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef __signed__ char __s8;
|
|
||||||
typedef unsigned char __u8;
|
|
||||||
|
|
||||||
typedef __signed__ short __s16;
|
|
||||||
typedef unsigned short __u16;
|
|
||||||
|
|
||||||
typedef __signed__ int __s32;
|
|
||||||
typedef unsigned int __u32;
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
__extension__ typedef __signed__ long long __s64;
|
|
||||||
__extension__ typedef unsigned long long __u64;
|
|
||||||
#else
|
|
||||||
typedef __signed__ long long __s64;
|
|
||||||
typedef unsigned long long __u64;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
@@ -73,6 +46,4 @@ typedef unsigned long long u64;
|
|||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* _ASM_GENERIC_INT_LL64_H */
|
#endif /* _ASM_GENERIC_INT_LL64_H */
|
||||||
|
|||||||
@@ -1,105 +1,12 @@
|
|||||||
#ifndef _ASM_GENERIC_IOCTL_H
|
#ifndef _ASM_GENERIC_IOCTL_H
|
||||||
#define _ASM_GENERIC_IOCTL_H
|
#define _ASM_GENERIC_IOCTL_H
|
||||||
|
|
||||||
/* ioctl command encoding: 32 bits total, command in lower 16 bits,
|
#include <uapi/asm-generic/ioctl.h>
|
||||||
* size of the parameter structure in the lower 14 bits of the
|
|
||||||
* upper 16 bits.
|
|
||||||
* Encoding the size of the parameter structure in the ioctl request
|
|
||||||
* is useful for catching programs compiled with old versions
|
|
||||||
* and to avoid overwriting user space outside the user buffer area.
|
|
||||||
* The highest 2 bits are reserved for indicating the ``access mode''.
|
|
||||||
* NOTE: This limits the max parameter size to 16kB -1 !
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following is for compatibility across the various Linux
|
|
||||||
* platforms. The generic ioctl numbering scheme doesn't really enforce
|
|
||||||
* a type field. De facto, however, the top 8 bits of the lower 16
|
|
||||||
* bits are indeed used as a type field, so we might just as well make
|
|
||||||
* this explicit here. Please be sure to use the decoding macros
|
|
||||||
* below from now on.
|
|
||||||
*/
|
|
||||||
#define _IOC_NRBITS 8
|
|
||||||
#define _IOC_TYPEBITS 8
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Let any architecture override either of the following before
|
|
||||||
* including this file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _IOC_SIZEBITS
|
|
||||||
# define _IOC_SIZEBITS 14
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _IOC_DIRBITS
|
|
||||||
# define _IOC_DIRBITS 2
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
|
|
||||||
#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
|
|
||||||
#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
|
|
||||||
#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
|
|
||||||
|
|
||||||
#define _IOC_NRSHIFT 0
|
|
||||||
#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
|
|
||||||
#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
|
|
||||||
#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Direction bits, which any architecture can choose to override
|
|
||||||
* before including this file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _IOC_NONE
|
|
||||||
# define _IOC_NONE 0U
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _IOC_WRITE
|
|
||||||
# define _IOC_WRITE 1U
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _IOC_READ
|
|
||||||
# define _IOC_READ 2U
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _IOC(dir,type,nr,size) \
|
|
||||||
(((dir) << _IOC_DIRSHIFT) | \
|
|
||||||
((type) << _IOC_TYPESHIFT) | \
|
|
||||||
((nr) << _IOC_NRSHIFT) | \
|
|
||||||
((size) << _IOC_SIZESHIFT))
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
/* provoke compile error for invalid uses of size argument */
|
/* provoke compile error for invalid uses of size argument */
|
||||||
extern unsigned int __invalid_size_argument_for_IOC;
|
extern unsigned int __invalid_size_argument_for_IOC;
|
||||||
#define _IOC_TYPECHECK(t) \
|
#define _IOC_TYPECHECK(t) \
|
||||||
((sizeof(t) == sizeof(t[1]) && \
|
((sizeof(t) == sizeof(t[1]) && \
|
||||||
sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
|
sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
|
||||||
sizeof(t) : __invalid_size_argument_for_IOC)
|
sizeof(t) : __invalid_size_argument_for_IOC)
|
||||||
#else
|
|
||||||
#define _IOC_TYPECHECK(t) (sizeof(t))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* used to create numbers */
|
|
||||||
#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
|
|
||||||
#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
|
|
||||||
#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
|
||||||
#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
|
||||||
#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
|
|
||||||
#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
|
|
||||||
#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
|
|
||||||
|
|
||||||
/* used to decode ioctl numbers.. */
|
|
||||||
#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
|
|
||||||
#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
|
|
||||||
#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
|
|
||||||
#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
|
|
||||||
|
|
||||||
/* ...and for the drivers/sound files... */
|
|
||||||
|
|
||||||
#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
|
|
||||||
#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
|
|
||||||
#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
|
|
||||||
#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
|
|
||||||
#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
|
|
||||||
|
|
||||||
#endif /* _ASM_GENERIC_IOCTL_H */
|
#endif /* _ASM_GENERIC_IOCTL_H */
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
#ifndef _ASM_GENERIC_KVM_PARA_H
|
#ifndef _ASM_GENERIC_KVM_PARA_H
|
||||||
#define _ASM_GENERIC_KVM_PARA_H
|
#define _ASM_GENERIC_KVM_PARA_H
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#include <uapi/asm-generic/kvm_para.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function is used by architectures that support kvm to avoid issuing
|
* This function is used by architectures that support kvm to avoid issuing
|
||||||
@@ -17,6 +18,4 @@ static inline unsigned int kvm_arch_para_features(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _KERNEL__ */
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,25 +1,10 @@
|
|||||||
#ifndef __ASM_GENERIC_PARAM_H
|
#ifndef __ASM_GENERIC_PARAM_H
|
||||||
#define __ASM_GENERIC_PARAM_H
|
#define __ASM_GENERIC_PARAM_H
|
||||||
|
|
||||||
#ifndef HZ
|
#include <uapi/asm-generic/param.h>
|
||||||
#define HZ 100
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef EXEC_PAGESIZE
|
|
||||||
#define EXEC_PAGESIZE 4096
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef NOGROUP
|
|
||||||
#define NOGROUP (-1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAXHOSTNAMELEN 64 /* max length of hostname */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
# undef HZ
|
# undef HZ
|
||||||
# define HZ CONFIG_HZ /* Internal kernel timer frequency */
|
# define HZ CONFIG_HZ /* Internal kernel timer frequency */
|
||||||
# define USER_HZ 100 /* some user interfaces are */
|
# define USER_HZ 100 /* some user interfaces are */
|
||||||
# define CLOCKS_PER_SEC (USER_HZ) /* in "ticks" like times() */
|
# define CLOCKS_PER_SEC (USER_HZ) /* in "ticks" like times() */
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __ASM_GENERIC_PARAM_H */
|
#endif /* __ASM_GENERIC_PARAM_H */
|
||||||
|
|||||||
@@ -1,70 +1,8 @@
|
|||||||
#ifndef _ASM_GENERIC_RESOURCE_H
|
#ifndef _ASM_GENERIC_RESOURCE_H
|
||||||
#define _ASM_GENERIC_RESOURCE_H
|
#define _ASM_GENERIC_RESOURCE_H
|
||||||
|
|
||||||
/*
|
#include <uapi/asm-generic/resource.h>
|
||||||
* Resource limit IDs
|
|
||||||
*
|
|
||||||
* ( Compatibility detail: there are architectures that have
|
|
||||||
* a different rlimit ID order in the 5-9 range and want
|
|
||||||
* to keep that order for binary compatibility. The reasons
|
|
||||||
* are historic and all new rlimits are identical across all
|
|
||||||
* arches. If an arch has such special order for some rlimits
|
|
||||||
* then it defines them prior including asm-generic/resource.h. )
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define RLIMIT_CPU 0 /* CPU time in sec */
|
|
||||||
#define RLIMIT_FSIZE 1 /* Maximum filesize */
|
|
||||||
#define RLIMIT_DATA 2 /* max data size */
|
|
||||||
#define RLIMIT_STACK 3 /* max stack size */
|
|
||||||
#define RLIMIT_CORE 4 /* max core file size */
|
|
||||||
|
|
||||||
#ifndef RLIMIT_RSS
|
|
||||||
# define RLIMIT_RSS 5 /* max resident set size */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef RLIMIT_NPROC
|
|
||||||
# define RLIMIT_NPROC 6 /* max number of processes */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef RLIMIT_NOFILE
|
|
||||||
# define RLIMIT_NOFILE 7 /* max number of open files */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef RLIMIT_MEMLOCK
|
|
||||||
# define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef RLIMIT_AS
|
|
||||||
# define RLIMIT_AS 9 /* address space limit */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define RLIMIT_LOCKS 10 /* maximum file locks held */
|
|
||||||
#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
|
|
||||||
#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
|
|
||||||
#define RLIMIT_NICE 13 /* max nice prio allowed to raise to
|
|
||||||
0-39 for nice level 19 .. -20 */
|
|
||||||
#define RLIMIT_RTPRIO 14 /* maximum realtime priority */
|
|
||||||
#define RLIMIT_RTTIME 15 /* timeout for RT tasks in us */
|
|
||||||
#define RLIM_NLIMITS 16
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SuS says limits have to be unsigned.
|
|
||||||
* Which makes a ton more sense anyway.
|
|
||||||
*
|
|
||||||
* Some architectures override this (for compatibility reasons):
|
|
||||||
*/
|
|
||||||
#ifndef RLIM_INFINITY
|
|
||||||
# define RLIM_INFINITY (~0UL)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* RLIMIT_STACK default maximum - some architectures override it:
|
|
||||||
*/
|
|
||||||
#ifndef _STK_LIM_MAX
|
|
||||||
# define _STK_LIM_MAX RLIM_INFINITY
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* boot-time rlimit defaults for the init task:
|
* boot-time rlimit defaults for the init task:
|
||||||
@@ -89,6 +27,4 @@
|
|||||||
[RLIMIT_RTTIME] = { RLIM_INFINITY, RLIM_INFINITY }, \
|
[RLIMIT_RTTIME] = { RLIM_INFINITY, RLIM_INFINITY }, \
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,145 +1,8 @@
|
|||||||
#ifndef _ASM_GENERIC_SIGINFO_H
|
#ifndef _ASM_GENERIC_SIGINFO_H
|
||||||
#define _ASM_GENERIC_SIGINFO_H
|
#define _ASM_GENERIC_SIGINFO_H
|
||||||
|
|
||||||
#include <linux/compiler.h>
|
#include <uapi/asm-generic/siginfo.h>
|
||||||
#include <linux/types.h>
|
|
||||||
|
|
||||||
typedef union sigval {
|
|
||||||
int sival_int;
|
|
||||||
void __user *sival_ptr;
|
|
||||||
} sigval_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is the size (including padding) of the part of the
|
|
||||||
* struct siginfo that is before the union.
|
|
||||||
*/
|
|
||||||
#ifndef __ARCH_SI_PREAMBLE_SIZE
|
|
||||||
#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SI_MAX_SIZE 128
|
|
||||||
#ifndef SI_PAD_SIZE
|
|
||||||
#define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __ARCH_SI_UID_T
|
|
||||||
#define __ARCH_SI_UID_T __kernel_uid32_t
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The default "si_band" type is "long", as specified by POSIX.
|
|
||||||
* However, some architectures want to override this to "int"
|
|
||||||
* for historical compatibility reasons, so we allow that.
|
|
||||||
*/
|
|
||||||
#ifndef __ARCH_SI_BAND_T
|
|
||||||
#define __ARCH_SI_BAND_T long
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __ARCH_SI_CLOCK_T
|
|
||||||
#define __ARCH_SI_CLOCK_T __kernel_clock_t
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __ARCH_SI_ATTRIBUTES
|
|
||||||
#define __ARCH_SI_ATTRIBUTES
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef HAVE_ARCH_SIGINFO_T
|
|
||||||
|
|
||||||
typedef struct siginfo {
|
|
||||||
int si_signo;
|
|
||||||
int si_errno;
|
|
||||||
int si_code;
|
|
||||||
|
|
||||||
union {
|
|
||||||
int _pad[SI_PAD_SIZE];
|
|
||||||
|
|
||||||
/* kill() */
|
|
||||||
struct {
|
|
||||||
__kernel_pid_t _pid; /* sender's pid */
|
|
||||||
__ARCH_SI_UID_T _uid; /* sender's uid */
|
|
||||||
} _kill;
|
|
||||||
|
|
||||||
/* POSIX.1b timers */
|
|
||||||
struct {
|
|
||||||
__kernel_timer_t _tid; /* timer id */
|
|
||||||
int _overrun; /* overrun count */
|
|
||||||
char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)];
|
|
||||||
sigval_t _sigval; /* same as below */
|
|
||||||
int _sys_private; /* not to be passed to user */
|
|
||||||
} _timer;
|
|
||||||
|
|
||||||
/* POSIX.1b signals */
|
|
||||||
struct {
|
|
||||||
__kernel_pid_t _pid; /* sender's pid */
|
|
||||||
__ARCH_SI_UID_T _uid; /* sender's uid */
|
|
||||||
sigval_t _sigval;
|
|
||||||
} _rt;
|
|
||||||
|
|
||||||
/* SIGCHLD */
|
|
||||||
struct {
|
|
||||||
__kernel_pid_t _pid; /* which child */
|
|
||||||
__ARCH_SI_UID_T _uid; /* sender's uid */
|
|
||||||
int _status; /* exit code */
|
|
||||||
__ARCH_SI_CLOCK_T _utime;
|
|
||||||
__ARCH_SI_CLOCK_T _stime;
|
|
||||||
} _sigchld;
|
|
||||||
|
|
||||||
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
|
|
||||||
struct {
|
|
||||||
void __user *_addr; /* faulting insn/memory ref. */
|
|
||||||
#ifdef __ARCH_SI_TRAPNO
|
|
||||||
int _trapno; /* TRAP # which caused the signal */
|
|
||||||
#endif
|
|
||||||
short _addr_lsb; /* LSB of the reported address */
|
|
||||||
} _sigfault;
|
|
||||||
|
|
||||||
/* SIGPOLL */
|
|
||||||
struct {
|
|
||||||
__ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
|
||||||
int _fd;
|
|
||||||
} _sigpoll;
|
|
||||||
|
|
||||||
/* SIGSYS */
|
|
||||||
struct {
|
|
||||||
void __user *_call_addr; /* calling user insn */
|
|
||||||
int _syscall; /* triggering system call number */
|
|
||||||
unsigned int _arch; /* AUDIT_ARCH_* of syscall */
|
|
||||||
} _sigsys;
|
|
||||||
} _sifields;
|
|
||||||
} __ARCH_SI_ATTRIBUTES siginfo_t;
|
|
||||||
|
|
||||||
/* If the arch shares siginfo, then it has SIGSYS. */
|
|
||||||
#define __ARCH_SIGSYS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* How these fields are to be accessed.
|
|
||||||
*/
|
|
||||||
#define si_pid _sifields._kill._pid
|
|
||||||
#define si_uid _sifields._kill._uid
|
|
||||||
#define si_tid _sifields._timer._tid
|
|
||||||
#define si_overrun _sifields._timer._overrun
|
|
||||||
#define si_sys_private _sifields._timer._sys_private
|
|
||||||
#define si_status _sifields._sigchld._status
|
|
||||||
#define si_utime _sifields._sigchld._utime
|
|
||||||
#define si_stime _sifields._sigchld._stime
|
|
||||||
#define si_value _sifields._rt._sigval
|
|
||||||
#define si_int _sifields._rt._sigval.sival_int
|
|
||||||
#define si_ptr _sifields._rt._sigval.sival_ptr
|
|
||||||
#define si_addr _sifields._sigfault._addr
|
|
||||||
#ifdef __ARCH_SI_TRAPNO
|
|
||||||
#define si_trapno _sifields._sigfault._trapno
|
|
||||||
#endif
|
|
||||||
#define si_addr_lsb _sifields._sigfault._addr_lsb
|
|
||||||
#define si_band _sifields._sigpoll._band
|
|
||||||
#define si_fd _sifields._sigpoll._fd
|
|
||||||
#ifdef __ARCH_SIGSYS
|
|
||||||
#define si_call_addr _sifields._sigsys._call_addr
|
|
||||||
#define si_syscall _sifields._sigsys._syscall
|
|
||||||
#define si_arch _sifields._sigsys._arch
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
#define __SI_MASK 0xffff0000u
|
#define __SI_MASK 0xffff0000u
|
||||||
#define __SI_KILL (0 << 16)
|
#define __SI_KILL (0 << 16)
|
||||||
#define __SI_TIMER (1 << 16)
|
#define __SI_TIMER (1 << 16)
|
||||||
@@ -150,162 +13,6 @@ typedef struct siginfo {
|
|||||||
#define __SI_MESGQ (6 << 16)
|
#define __SI_MESGQ (6 << 16)
|
||||||
#define __SI_SYS (7 << 16)
|
#define __SI_SYS (7 << 16)
|
||||||
#define __SI_CODE(T,N) ((T) | ((N) & 0xffff))
|
#define __SI_CODE(T,N) ((T) | ((N) & 0xffff))
|
||||||
#else
|
|
||||||
#define __SI_KILL 0
|
|
||||||
#define __SI_TIMER 0
|
|
||||||
#define __SI_POLL 0
|
|
||||||
#define __SI_FAULT 0
|
|
||||||
#define __SI_CHLD 0
|
|
||||||
#define __SI_RT 0
|
|
||||||
#define __SI_MESGQ 0
|
|
||||||
#define __SI_SYS 0
|
|
||||||
#define __SI_CODE(T,N) (N)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* si_code values
|
|
||||||
* Digital reserves positive values for kernel-generated signals.
|
|
||||||
*/
|
|
||||||
#define SI_USER 0 /* sent by kill, sigsend, raise */
|
|
||||||
#define SI_KERNEL 0x80 /* sent by the kernel from somewhere */
|
|
||||||
#define SI_QUEUE -1 /* sent by sigqueue */
|
|
||||||
#define SI_TIMER __SI_CODE(__SI_TIMER,-2) /* sent by timer expiration */
|
|
||||||
#define SI_MESGQ __SI_CODE(__SI_MESGQ,-3) /* sent by real time mesq state change */
|
|
||||||
#define SI_ASYNCIO -4 /* sent by AIO completion */
|
|
||||||
#define SI_SIGIO -5 /* sent by queued SIGIO */
|
|
||||||
#define SI_TKILL -6 /* sent by tkill system call */
|
|
||||||
#define SI_DETHREAD -7 /* sent by execve() killing subsidiary threads */
|
|
||||||
|
|
||||||
#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
|
|
||||||
#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGILL si_codes
|
|
||||||
*/
|
|
||||||
#define ILL_ILLOPC (__SI_FAULT|1) /* illegal opcode */
|
|
||||||
#define ILL_ILLOPN (__SI_FAULT|2) /* illegal operand */
|
|
||||||
#define ILL_ILLADR (__SI_FAULT|3) /* illegal addressing mode */
|
|
||||||
#define ILL_ILLTRP (__SI_FAULT|4) /* illegal trap */
|
|
||||||
#define ILL_PRVOPC (__SI_FAULT|5) /* privileged opcode */
|
|
||||||
#define ILL_PRVREG (__SI_FAULT|6) /* privileged register */
|
|
||||||
#define ILL_COPROC (__SI_FAULT|7) /* coprocessor error */
|
|
||||||
#define ILL_BADSTK (__SI_FAULT|8) /* internal stack error */
|
|
||||||
#define NSIGILL 8
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGFPE si_codes
|
|
||||||
*/
|
|
||||||
#define FPE_INTDIV (__SI_FAULT|1) /* integer divide by zero */
|
|
||||||
#define FPE_INTOVF (__SI_FAULT|2) /* integer overflow */
|
|
||||||
#define FPE_FLTDIV (__SI_FAULT|3) /* floating point divide by zero */
|
|
||||||
#define FPE_FLTOVF (__SI_FAULT|4) /* floating point overflow */
|
|
||||||
#define FPE_FLTUND (__SI_FAULT|5) /* floating point underflow */
|
|
||||||
#define FPE_FLTRES (__SI_FAULT|6) /* floating point inexact result */
|
|
||||||
#define FPE_FLTINV (__SI_FAULT|7) /* floating point invalid operation */
|
|
||||||
#define FPE_FLTSUB (__SI_FAULT|8) /* subscript out of range */
|
|
||||||
#define NSIGFPE 8
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGSEGV si_codes
|
|
||||||
*/
|
|
||||||
#define SEGV_MAPERR (__SI_FAULT|1) /* address not mapped to object */
|
|
||||||
#define SEGV_ACCERR (__SI_FAULT|2) /* invalid permissions for mapped object */
|
|
||||||
#define NSIGSEGV 2
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGBUS si_codes
|
|
||||||
*/
|
|
||||||
#define BUS_ADRALN (__SI_FAULT|1) /* invalid address alignment */
|
|
||||||
#define BUS_ADRERR (__SI_FAULT|2) /* non-existent physical address */
|
|
||||||
#define BUS_OBJERR (__SI_FAULT|3) /* object specific hardware error */
|
|
||||||
/* hardware memory error consumed on a machine check: action required */
|
|
||||||
#define BUS_MCEERR_AR (__SI_FAULT|4)
|
|
||||||
/* hardware memory error detected in process but not consumed: action optional*/
|
|
||||||
#define BUS_MCEERR_AO (__SI_FAULT|5)
|
|
||||||
#define NSIGBUS 5
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGTRAP si_codes
|
|
||||||
*/
|
|
||||||
#define TRAP_BRKPT (__SI_FAULT|1) /* process breakpoint */
|
|
||||||
#define TRAP_TRACE (__SI_FAULT|2) /* process trace trap */
|
|
||||||
#define TRAP_BRANCH (__SI_FAULT|3) /* process taken branch trap */
|
|
||||||
#define TRAP_HWBKPT (__SI_FAULT|4) /* hardware breakpoint/watchpoint */
|
|
||||||
#define NSIGTRAP 4
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGCHLD si_codes
|
|
||||||
*/
|
|
||||||
#define CLD_EXITED (__SI_CHLD|1) /* child has exited */
|
|
||||||
#define CLD_KILLED (__SI_CHLD|2) /* child was killed */
|
|
||||||
#define CLD_DUMPED (__SI_CHLD|3) /* child terminated abnormally */
|
|
||||||
#define CLD_TRAPPED (__SI_CHLD|4) /* traced child has trapped */
|
|
||||||
#define CLD_STOPPED (__SI_CHLD|5) /* child has stopped */
|
|
||||||
#define CLD_CONTINUED (__SI_CHLD|6) /* stopped child has continued */
|
|
||||||
#define NSIGCHLD 6
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGPOLL si_codes
|
|
||||||
*/
|
|
||||||
#define POLL_IN (__SI_POLL|1) /* data input available */
|
|
||||||
#define POLL_OUT (__SI_POLL|2) /* output buffers available */
|
|
||||||
#define POLL_MSG (__SI_POLL|3) /* input message available */
|
|
||||||
#define POLL_ERR (__SI_POLL|4) /* i/o error */
|
|
||||||
#define POLL_PRI (__SI_POLL|5) /* high priority input available */
|
|
||||||
#define POLL_HUP (__SI_POLL|6) /* device disconnected */
|
|
||||||
#define NSIGPOLL 6
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SIGSYS si_codes
|
|
||||||
*/
|
|
||||||
#define SYS_SECCOMP (__SI_SYS|1) /* seccomp triggered */
|
|
||||||
#define NSIGSYS 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
* sigevent definitions
|
|
||||||
*
|
|
||||||
* It seems likely that SIGEV_THREAD will have to be handled from
|
|
||||||
* userspace, libpthread transmuting it to SIGEV_SIGNAL, which the
|
|
||||||
* thread manager then catches and does the appropriate nonsense.
|
|
||||||
* However, everything is written out here so as to not get lost.
|
|
||||||
*/
|
|
||||||
#define SIGEV_SIGNAL 0 /* notify via signal */
|
|
||||||
#define SIGEV_NONE 1 /* other notification: meaningless */
|
|
||||||
#define SIGEV_THREAD 2 /* deliver via thread creation */
|
|
||||||
#define SIGEV_THREAD_ID 4 /* deliver to thread */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This works because the alignment is ok on all current architectures
|
|
||||||
* but we leave open this being overridden in the future
|
|
||||||
*/
|
|
||||||
#ifndef __ARCH_SIGEV_PREAMBLE_SIZE
|
|
||||||
#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SIGEV_MAX_SIZE 64
|
|
||||||
#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \
|
|
||||||
/ sizeof(int))
|
|
||||||
|
|
||||||
typedef struct sigevent {
|
|
||||||
sigval_t sigev_value;
|
|
||||||
int sigev_signo;
|
|
||||||
int sigev_notify;
|
|
||||||
union {
|
|
||||||
int _pad[SIGEV_PAD_SIZE];
|
|
||||||
int _tid;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
void (*_function)(sigval_t);
|
|
||||||
void *_attribute; /* really pthread_attr_t */
|
|
||||||
} _sigev_thread;
|
|
||||||
} _sigev_un;
|
|
||||||
} sigevent_t;
|
|
||||||
|
|
||||||
#define sigev_notify_function _sigev_un._sigev_thread._function
|
|
||||||
#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
|
|
||||||
#define sigev_notify_thread_id _sigev_un._tid
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
struct siginfo;
|
struct siginfo;
|
||||||
void do_schedule_next_timer(struct siginfo *info);
|
void do_schedule_next_timer(struct siginfo *info);
|
||||||
@@ -327,6 +34,4 @@ static inline void copy_siginfo(struct siginfo *to, struct siginfo *from)
|
|||||||
|
|
||||||
extern int copy_siginfo_to_user(struct siginfo __user *to, struct siginfo *from);
|
extern int copy_siginfo_to_user(struct siginfo __user *to, struct siginfo *from);
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,131 +1,16 @@
|
|||||||
#ifndef __ASM_GENERIC_SIGNAL_H
|
#ifndef __ASM_GENERIC_SIGNAL_H
|
||||||
#define __ASM_GENERIC_SIGNAL_H
|
#define __ASM_GENERIC_SIGNAL_H
|
||||||
|
|
||||||
#include <linux/types.h>
|
#include <uapi/asm-generic/signal.h>
|
||||||
|
|
||||||
#define _NSIG 64
|
|
||||||
#define _NSIG_BPW __BITS_PER_LONG
|
|
||||||
#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
|
|
||||||
|
|
||||||
#define SIGHUP 1
|
|
||||||
#define SIGINT 2
|
|
||||||
#define SIGQUIT 3
|
|
||||||
#define SIGILL 4
|
|
||||||
#define SIGTRAP 5
|
|
||||||
#define SIGABRT 6
|
|
||||||
#define SIGIOT 6
|
|
||||||
#define SIGBUS 7
|
|
||||||
#define SIGFPE 8
|
|
||||||
#define SIGKILL 9
|
|
||||||
#define SIGUSR1 10
|
|
||||||
#define SIGSEGV 11
|
|
||||||
#define SIGUSR2 12
|
|
||||||
#define SIGPIPE 13
|
|
||||||
#define SIGALRM 14
|
|
||||||
#define SIGTERM 15
|
|
||||||
#define SIGSTKFLT 16
|
|
||||||
#define SIGCHLD 17
|
|
||||||
#define SIGCONT 18
|
|
||||||
#define SIGSTOP 19
|
|
||||||
#define SIGTSTP 20
|
|
||||||
#define SIGTTIN 21
|
|
||||||
#define SIGTTOU 22
|
|
||||||
#define SIGURG 23
|
|
||||||
#define SIGXCPU 24
|
|
||||||
#define SIGXFSZ 25
|
|
||||||
#define SIGVTALRM 26
|
|
||||||
#define SIGPROF 27
|
|
||||||
#define SIGWINCH 28
|
|
||||||
#define SIGIO 29
|
|
||||||
#define SIGPOLL SIGIO
|
|
||||||
/*
|
|
||||||
#define SIGLOST 29
|
|
||||||
*/
|
|
||||||
#define SIGPWR 30
|
|
||||||
#define SIGSYS 31
|
|
||||||
#define SIGUNUSED 31
|
|
||||||
|
|
||||||
/* These should not be considered constants from userland. */
|
|
||||||
#define SIGRTMIN 32
|
|
||||||
#ifndef SIGRTMAX
|
|
||||||
#define SIGRTMAX _NSIG
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SA_FLAGS values:
|
|
||||||
*
|
|
||||||
* SA_ONSTACK indicates that a registered stack_t will be used.
|
|
||||||
* SA_RESTART flag to get restarting signals (which were the default long ago)
|
|
||||||
* SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
|
|
||||||
* SA_RESETHAND clears the handler when the signal is delivered.
|
|
||||||
* SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
|
|
||||||
* SA_NODEFER prevents the current signal from being masked in the handler.
|
|
||||||
*
|
|
||||||
* SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
|
|
||||||
* Unix names RESETHAND and NODEFER respectively.
|
|
||||||
*/
|
|
||||||
#define SA_NOCLDSTOP 0x00000001
|
|
||||||
#define SA_NOCLDWAIT 0x00000002
|
|
||||||
#define SA_SIGINFO 0x00000004
|
|
||||||
#define SA_ONSTACK 0x08000000
|
|
||||||
#define SA_RESTART 0x10000000
|
|
||||||
#define SA_NODEFER 0x40000000
|
|
||||||
#define SA_RESETHAND 0x80000000
|
|
||||||
|
|
||||||
#define SA_NOMASK SA_NODEFER
|
|
||||||
#define SA_ONESHOT SA_RESETHAND
|
|
||||||
|
|
||||||
/*
|
|
||||||
* New architectures should not define the obsolete
|
|
||||||
* SA_RESTORER 0x04000000
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* sigaltstack controls
|
|
||||||
*/
|
|
||||||
#define SS_ONSTACK 1
|
|
||||||
#define SS_DISABLE 2
|
|
||||||
|
|
||||||
#define MINSIGSTKSZ 2048
|
|
||||||
#define SIGSTKSZ 8192
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
typedef struct {
|
|
||||||
unsigned long sig[_NSIG_WORDS];
|
|
||||||
} sigset_t;
|
|
||||||
|
|
||||||
/* not actually used, but required for linux/syscalls.h */
|
|
||||||
typedef unsigned long old_sigset_t;
|
|
||||||
|
|
||||||
#include <asm-generic/signal-defs.h>
|
|
||||||
|
|
||||||
struct sigaction {
|
|
||||||
__sighandler_t sa_handler;
|
|
||||||
unsigned long sa_flags;
|
|
||||||
#ifdef SA_RESTORER
|
#ifdef SA_RESTORER
|
||||||
__sigrestore_t sa_restorer;
|
|
||||||
#endif
|
#endif
|
||||||
sigset_t sa_mask; /* mask last for extensibility */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct k_sigaction {
|
|
||||||
struct sigaction sa;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct sigaltstack {
|
|
||||||
void __user *ss_sp;
|
|
||||||
int ss_flags;
|
|
||||||
size_t ss_size;
|
|
||||||
} stack_t;
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
#include <asm/sigcontext.h>
|
#include <asm/sigcontext.h>
|
||||||
#undef __HAVE_ARCH_SIG_BITOPS
|
#undef __HAVE_ARCH_SIG_BITOPS
|
||||||
|
|
||||||
#define ptrace_signal_deliver(regs, cookie) do { } while (0)
|
#define ptrace_signal_deliver(regs, cookie) do { } while (0)
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
#endif /* _ASM_GENERIC_SIGNAL_H */
|
#endif /* _ASM_GENERIC_SIGNAL_H */
|
||||||
|
|||||||
@@ -1,86 +1,7 @@
|
|||||||
#ifndef _GENERIC_STATFS_H
|
#ifndef _GENERIC_STATFS_H
|
||||||
#define _GENERIC_STATFS_H
|
#define _GENERIC_STATFS_H
|
||||||
|
|
||||||
#include <linux/types.h>
|
#include <uapi/asm-generic/statfs.h>
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
typedef __kernel_fsid_t fsid_t;
|
typedef __kernel_fsid_t fsid_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* Most 64-bit platforms use 'long', while most 32-bit platforms use '__u32'.
|
|
||||||
* Yes, they differ in signedness as well as size.
|
|
||||||
* Special cases can override it for themselves -- except for S390x, which
|
|
||||||
* is just a little too special for us. And MIPS, which I'm not touching
|
|
||||||
* with a 10' pole.
|
|
||||||
*/
|
|
||||||
#ifndef __statfs_word
|
|
||||||
#if __BITS_PER_LONG == 64
|
|
||||||
#define __statfs_word long
|
|
||||||
#else
|
|
||||||
#define __statfs_word __u32
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct statfs {
|
|
||||||
__statfs_word f_type;
|
|
||||||
__statfs_word f_bsize;
|
|
||||||
__statfs_word f_blocks;
|
|
||||||
__statfs_word f_bfree;
|
|
||||||
__statfs_word f_bavail;
|
|
||||||
__statfs_word f_files;
|
|
||||||
__statfs_word f_ffree;
|
|
||||||
__kernel_fsid_t f_fsid;
|
|
||||||
__statfs_word f_namelen;
|
|
||||||
__statfs_word f_frsize;
|
|
||||||
__statfs_word f_flags;
|
|
||||||
__statfs_word f_spare[4];
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ARM needs to avoid the 32-bit padding at the end, for consistency
|
|
||||||
* between EABI and OABI
|
|
||||||
*/
|
|
||||||
#ifndef ARCH_PACK_STATFS64
|
|
||||||
#define ARCH_PACK_STATFS64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct statfs64 {
|
|
||||||
__statfs_word f_type;
|
|
||||||
__statfs_word f_bsize;
|
|
||||||
__u64 f_blocks;
|
|
||||||
__u64 f_bfree;
|
|
||||||
__u64 f_bavail;
|
|
||||||
__u64 f_files;
|
|
||||||
__u64 f_ffree;
|
|
||||||
__kernel_fsid_t f_fsid;
|
|
||||||
__statfs_word f_namelen;
|
|
||||||
__statfs_word f_frsize;
|
|
||||||
__statfs_word f_flags;
|
|
||||||
__statfs_word f_spare[4];
|
|
||||||
} ARCH_PACK_STATFS64;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* IA64 and x86_64 need to avoid the 32-bit padding at the end,
|
|
||||||
* to be compatible with the i386 ABI
|
|
||||||
*/
|
|
||||||
#ifndef ARCH_PACK_COMPAT_STATFS64
|
|
||||||
#define ARCH_PACK_COMPAT_STATFS64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
struct compat_statfs64 {
|
|
||||||
__u32 f_type;
|
|
||||||
__u32 f_bsize;
|
|
||||||
__u64 f_blocks;
|
|
||||||
__u64 f_bfree;
|
|
||||||
__u64 f_bavail;
|
|
||||||
__u64 f_files;
|
|
||||||
__u64 f_ffree;
|
|
||||||
__kernel_fsid_t f_fsid;
|
|
||||||
__u32 f_namelen;
|
|
||||||
__u32 f_frsize;
|
|
||||||
__u32 f_flags;
|
|
||||||
__u32 f_spare[4];
|
|
||||||
} ARCH_PACK_COMPAT_STATFS64;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -1,54 +1,9 @@
|
|||||||
#ifndef _ASM_GENERIC_TERMIOS_H
|
#ifndef _ASM_GENERIC_TERMIOS_H
|
||||||
#define _ASM_GENERIC_TERMIOS_H
|
#define _ASM_GENERIC_TERMIOS_H
|
||||||
/*
|
|
||||||
* Most architectures have straight copies of the x86 code, with
|
|
||||||
* varying levels of bug fixes on top. Usually it's a good idea
|
|
||||||
* to use this generic version instead, but be careful to avoid
|
|
||||||
* ABI changes.
|
|
||||||
* New architectures should not provide their own version.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <asm/termbits.h>
|
|
||||||
#include <asm/ioctls.h>
|
|
||||||
|
|
||||||
struct winsize {
|
|
||||||
unsigned short ws_row;
|
|
||||||
unsigned short ws_col;
|
|
||||||
unsigned short ws_xpixel;
|
|
||||||
unsigned short ws_ypixel;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define NCC 8
|
|
||||||
struct termio {
|
|
||||||
unsigned short c_iflag; /* input mode flags */
|
|
||||||
unsigned short c_oflag; /* output mode flags */
|
|
||||||
unsigned short c_cflag; /* control mode flags */
|
|
||||||
unsigned short c_lflag; /* local mode flags */
|
|
||||||
unsigned char c_line; /* line discipline */
|
|
||||||
unsigned char c_cc[NCC]; /* control characters */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* modem lines */
|
|
||||||
#define TIOCM_LE 0x001
|
|
||||||
#define TIOCM_DTR 0x002
|
|
||||||
#define TIOCM_RTS 0x004
|
|
||||||
#define TIOCM_ST 0x008
|
|
||||||
#define TIOCM_SR 0x010
|
|
||||||
#define TIOCM_CTS 0x020
|
|
||||||
#define TIOCM_CAR 0x040
|
|
||||||
#define TIOCM_RNG 0x080
|
|
||||||
#define TIOCM_DSR 0x100
|
|
||||||
#define TIOCM_CD TIOCM_CAR
|
|
||||||
#define TIOCM_RI TIOCM_RNG
|
|
||||||
#define TIOCM_OUT1 0x2000
|
|
||||||
#define TIOCM_OUT2 0x4000
|
|
||||||
#define TIOCM_LOOP 0x8000
|
|
||||||
|
|
||||||
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
|
#include <uapi/asm-generic/termios.h>
|
||||||
|
|
||||||
/* intr=^C quit=^\ erase=del kill=^U
|
/* intr=^C quit=^\ erase=del kill=^U
|
||||||
eof=^D vtime=\0 vmin=\1 sxtc=\0
|
eof=^D vtime=\0 vmin=\1 sxtc=\0
|
||||||
@@ -149,6 +104,4 @@ static inline int kernel_termios_to_user_termios(struct termios __user *u,
|
|||||||
}
|
}
|
||||||
#endif /* TCGETS2 */
|
#endif /* TCGETS2 */
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
|
||||||
|
|
||||||
#endif /* _ASM_GENERIC_TERMIOS_H */
|
#endif /* _ASM_GENERIC_TERMIOS_H */
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1 +1,36 @@
|
|||||||
# UAPI Header export list
|
# UAPI Header export list
|
||||||
|
header-y += auxvec.h
|
||||||
|
header-y += bitsperlong.h
|
||||||
|
header-y += errno-base.h
|
||||||
|
header-y += errno.h
|
||||||
|
header-y += fcntl.h
|
||||||
|
header-y += int-l64.h
|
||||||
|
header-y += int-ll64.h
|
||||||
|
header-y += ioctl.h
|
||||||
|
header-y += ioctls.h
|
||||||
|
header-y += ipcbuf.h
|
||||||
|
header-y += kvm_para.h
|
||||||
|
header-y += mman-common.h
|
||||||
|
header-y += mman.h
|
||||||
|
header-y += msgbuf.h
|
||||||
|
header-y += param.h
|
||||||
|
header-y += poll.h
|
||||||
|
header-y += posix_types.h
|
||||||
|
header-y += resource.h
|
||||||
|
header-y += sembuf.h
|
||||||
|
header-y += setup.h
|
||||||
|
header-y += shmbuf.h
|
||||||
|
header-y += shmparam.h
|
||||||
|
header-y += siginfo.h
|
||||||
|
header-y += signal-defs.h
|
||||||
|
header-y += signal.h
|
||||||
|
header-y += socket.h
|
||||||
|
header-y += sockios.h
|
||||||
|
header-y += stat.h
|
||||||
|
header-y += statfs.h
|
||||||
|
header-y += swab.h
|
||||||
|
header-y += termbits.h
|
||||||
|
header-y += termios.h
|
||||||
|
header-y += types.h
|
||||||
|
header-y += ucontext.h
|
||||||
|
header-y += unistd.h
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
#ifndef _UAPI__ASM_GENERIC_BITS_PER_LONG
|
||||||
|
#define _UAPI__ASM_GENERIC_BITS_PER_LONG
|
||||||
|
|
||||||
|
/*
|
||||||
|
* There seems to be no way of detecting this automatically from user
|
||||||
|
* space, so 64 bit architectures should override this in their
|
||||||
|
* bitsperlong.h. In particular, an architecture that supports
|
||||||
|
* both 32 and 64 bit user space must not rely on CONFIG_64BIT
|
||||||
|
* to decide it, but rather check a compiler provided macro.
|
||||||
|
*/
|
||||||
|
#ifndef __BITS_PER_LONG
|
||||||
|
#define __BITS_PER_LONG 32
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _UAPI__ASM_GENERIC_BITS_PER_LONG */
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* asm-generic/int-l64.h
|
||||||
|
*
|
||||||
|
* Integer declarations for architectures which use "long"
|
||||||
|
* for 64-bit types.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _UAPI_ASM_GENERIC_INT_L64_H
|
||||||
|
#define _UAPI_ASM_GENERIC_INT_L64_H
|
||||||
|
|
||||||
|
#include <asm/bitsperlong.h>
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
/*
|
||||||
|
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
|
||||||
|
* header files exported to user space
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef __signed__ char __s8;
|
||||||
|
typedef unsigned char __u8;
|
||||||
|
|
||||||
|
typedef __signed__ short __s16;
|
||||||
|
typedef unsigned short __u16;
|
||||||
|
|
||||||
|
typedef __signed__ int __s32;
|
||||||
|
typedef unsigned int __u32;
|
||||||
|
|
||||||
|
typedef __signed__ long __s64;
|
||||||
|
typedef unsigned long __u64;
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _UAPI_ASM_GENERIC_INT_L64_H */
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user