diff options
Diffstat (limited to 'libc/kernel')
-rw-r--r-- | libc/kernel/README.TXT | 2 | ||||
-rw-r--r-- | libc/kernel/common/linux/capability.h | 105 | ||||
-rw-r--r-- | libc/kernel/common/linux/input.h | 2 | ||||
-rw-r--r-- | libc/kernel/common/linux/personality.h | 50 | ||||
-rwxr-xr-x | libc/kernel/tools/clean_header.py | 2 | ||||
-rwxr-xr-x | libc/kernel/tools/update_all.py | 6 |
6 files changed, 91 insertions, 76 deletions
diff --git a/libc/kernel/README.TXT b/libc/kernel/README.TXT index 76dfa4dbf..9ff97d6c6 100644 --- a/libc/kernel/README.TXT +++ b/libc/kernel/README.TXT @@ -56,7 +56,7 @@ the tools you can use are: * tools/update_all.py automatically update all clean headers from the content of - 'bionic/kernel/original'. this is the script you're likely going to + 'external/kernel-headers/original'. this is the script you're likely going to run whenever you update the original headers. NOTE: diff --git a/libc/kernel/common/linux/capability.h b/libc/kernel/common/linux/capability.h index 605bc27b4..7350e7c85 100644 --- a/libc/kernel/common/linux/capability.h +++ b/libc/kernel/common/linux/capability.h @@ -7,89 +7,114 @@ *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** **************************************************************************** ****************************************************************************/ #ifndef _LINUX_CAPABILITY_H #define _LINUX_CAPABILITY_H - #include <linux/types.h> -#include <linux/compiler.h> - -#define _LINUX_CAPABILITY_VERSION 0x19980330 - +struct task_struct; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define _LINUX_CAPABILITY_VERSION_1 0x19980330 +#define _LINUX_CAPABILITY_U32S_1 1 +#define _LINUX_CAPABILITY_VERSION_2 0x20071026 +#define _LINUX_CAPABILITY_U32S_2 2 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define _LINUX_CAPABILITY_VERSION_3 0x20080522 +#define _LINUX_CAPABILITY_U32S_3 2 typedef struct __user_cap_header_struct { __u32 version; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int pid; } __user *cap_user_header_t; - typedef struct __user_cap_data_struct { __u32 effective; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __u32 permitted; __u32 inheritable; } __user *cap_user_data_t; - +#define VFS_CAP_REVISION_MASK 0xFF000000 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VFS_CAP_REVISION_SHIFT 24 +#define VFS_CAP_FLAGS_MASK ~VFS_CAP_REVISION_MASK +#define VFS_CAP_FLAGS_EFFECTIVE 0x000001 +#define VFS_CAP_REVISION_1 0x01000000 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define VFS_CAP_U32_1 1 +#define XATTR_CAPS_SZ_1 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_1)) +#define VFS_CAP_REVISION_2 0x02000000 +#define VFS_CAP_U32_2 2 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define XATTR_CAPS_SZ_2 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_2)) +#define XATTR_CAPS_SZ XATTR_CAPS_SZ_2 +#define VFS_CAP_U32 VFS_CAP_U32_2 +#define VFS_CAP_REVISION VFS_CAP_REVISION_2 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +struct vfs_cap_data { + __le32 magic_etc; + struct { + __le32 permitted; +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ + __le32 inheritable; + } data[VFS_CAP_U32]; +}; +#define _LINUX_CAPABILITY_VERSION _LINUX_CAPABILITY_VERSION_1 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define _LINUX_CAPABILITY_U32S _LINUX_CAPABILITY_U32S_1 #define CAP_CHOWN 0 - #define CAP_DAC_OVERRIDE 1 - #define CAP_DAC_READ_SEARCH 2 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAP_FOWNER 3 - #define CAP_FSETID 4 - -#define CAP_FS_MASK 0x1f - #define CAP_KILL 5 - #define CAP_SETGID 6 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAP_SETUID 7 - #define CAP_SETPCAP 8 - #define CAP_LINUX_IMMUTABLE 9 - #define CAP_NET_BIND_SERVICE 10 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAP_NET_BROADCAST 11 - #define CAP_NET_ADMIN 12 - #define CAP_NET_RAW 13 - #define CAP_IPC_LOCK 14 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAP_IPC_OWNER 15 - #define CAP_SYS_MODULE 16 - #define CAP_SYS_RAWIO 17 - #define CAP_SYS_CHROOT 18 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAP_SYS_PTRACE 19 - #define CAP_SYS_PACCT 20 - #define CAP_SYS_ADMIN 21 - #define CAP_SYS_BOOT 22 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAP_SYS_NICE 23 - #define CAP_SYS_RESOURCE 24 - #define CAP_SYS_TIME 25 - #define CAP_SYS_TTY_CONFIG 26 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define CAP_MKNOD 27 - #define CAP_LEASE 28 - #define CAP_AUDIT_WRITE 29 - #define CAP_AUDIT_CONTROL 30 - +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAP_SETFCAP 31 +#define CAP_MAC_OVERRIDE 32 +#define CAP_MAC_ADMIN 33 +#define CAP_SYSLOG 34 +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAP_WAKE_ALARM 35 +#define CAP_LAST_CAP CAP_WAKE_ALARM +#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) +#define CAP_TO_INDEX(x) ((x) >> 5) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ +#define CAP_TO_MASK(x) (1 << ((x) & 31)) #endif diff --git a/libc/kernel/common/linux/input.h b/libc/kernel/common/linux/input.h index 4045eb0c8..3fc89f454 100644 --- a/libc/kernel/common/linux/input.h +++ b/libc/kernel/common/linux/input.h @@ -74,6 +74,8 @@ struct input_keymap_entry { #define EVIOCRMFF _IOW('E', 0x81, int) #define EVIOCGEFFECTS _IOR('E', 0x84, int) #define EVIOCGRAB _IOW('E', 0x90, int) +#define EVIOCGSUSPENDBLOCK _IOR('E', 0x91, int) +#define EVIOCSSUSPENDBLOCK _IOW('E', 0x91, int) #define INPUT_PROP_POINTER 0x00 #define INPUT_PROP_DIRECT 0x01 #define INPUT_PROP_BUTTONPAD 0x02 diff --git a/libc/kernel/common/linux/personality.h b/libc/kernel/common/linux/personality.h index 1f84b4e92..bb55b75df 100644 --- a/libc/kernel/common/linux/personality.h +++ b/libc/kernel/common/linux/personality.h @@ -7,77 +7,65 @@ *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** + *** To edit the content of this header, modify the corresponding + *** source file (e.g. under external/kernel-headers/original/) then + *** run bionic/libc/kernel/tools/update_all.py + *** + *** Any manual change here will be lost the next time this script will + *** be run. You've been warned! + *** **************************************************************************** ****************************************************************************/ #ifndef _LINUX_PERSONALITY_H #define _LINUX_PERSONALITY_H - -struct exec_domain; -struct pt_regs; - enum { + UNAME26 = 0x0020000, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ ADDR_NO_RANDOMIZE = 0x0040000, FDPIC_FUNCPTRS = 0x0080000, MMAP_PAGE_ZERO = 0x0100000, ADDR_COMPAT_LAYOUT = 0x0200000, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ READ_IMPLIES_EXEC = 0x0400000, ADDR_LIMIT_32BIT = 0x0800000, SHORT_INODE = 0x1000000, WHOLE_SECONDS = 0x2000000, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ STICKY_TIMEOUTS = 0x4000000, ADDR_LIMIT_3GB = 0x8000000, }; - -#define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE) - +#define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC | ADDR_NO_RANDOMIZE | ADDR_COMPAT_LAYOUT | MMAP_PAGE_ZERO) +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ enum { PER_LINUX = 0x0000, PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT, PER_LINUX_FDPIC = 0x0000 | FDPIC_FUNCPTRS, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE, PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS, PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS | SHORT_INODE, PER_ISCR4 = 0x0005 | STICKY_TIMEOUTS, PER_BSD = 0x0006, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ PER_SUNOS = 0x0006 | STICKY_TIMEOUTS, PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE, PER_LINUX32 = 0x0008, PER_LINUX32_3GB = 0x0008 | ADDR_LIMIT_3GB, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ PER_IRIX32 = 0x0009 | STICKY_TIMEOUTS, PER_IRIXN32 = 0x000a | STICKY_TIMEOUTS, PER_IRIX64 = 0x000b | STICKY_TIMEOUTS, PER_RISCOS = 0x000c, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ PER_SOLARIS = 0x000d | STICKY_TIMEOUTS, PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, PER_OSF4 = 0x000f, PER_HPUX = 0x0010, +/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ PER_MASK = 0x00ff, }; - -typedef void (*handler_t)(int, struct pt_regs *); - -struct exec_domain { - const char *name; - handler_t handler; - unsigned char pers_low; - unsigned char pers_high; - unsigned long *signal_map; - unsigned long *signal_invmap; - struct map_segment *err_map; - struct map_segment *socktype_map; - struct map_segment *sockopt_map; - struct map_segment *af_map; - struct module *module; - struct exec_domain *next; -}; - -#define personality(pers) (pers & PER_MASK) - -#define get_personality (current->personality) - -#define set_personality(pers) ((current->personality == pers) ? 0 : __set_personality(pers)) - #endif diff --git a/libc/kernel/tools/clean_header.py b/libc/kernel/tools/clean_header.py index 0549fc24e..22e62aa5c 100755 --- a/libc/kernel/tools/clean_header.py +++ b/libc/kernel/tools/clean_header.py @@ -37,7 +37,7 @@ def cleanupFile( path, original_path): src_path = src_path[1:] if len(src_path) == 0: - panic( "oops, internal error, can't extract correct relative path" ) + panic( "oops, internal error, can't extract correct relative path\n" ) # convert into destination path, extracting architecture if needed # and the corresponding list of known static functions diff --git a/libc/kernel/tools/update_all.py b/libc/kernel/tools/update_all.py index 6a730a5f0..badef9204 100755 --- a/libc/kernel/tools/update_all.py +++ b/libc/kernel/tools/update_all.py @@ -37,13 +37,13 @@ if len(optlist) > 0 or len(args) > 1: progdir = find_program_dir() if len(args) == 1: - original_dir = arg[0] + original_dir = args[0] if not os.path.isdir(original_dir): - panic( "Not a directory: %s" % original_dir ) + panic( "Not a directory: %s\n" % original_dir ) else: original_dir = kernel_original_path if not os.path.isdir(original_dir): - panic( "Missing directory, please specify one through command-line: %s" % original_dir ) + panic( "Missing directory, please specify one through command-line: %s\n" % original_dir ) # find all source files in 'original' # |