blob: 68a6e0d373d43682cdc0e6d1abeb06666287da1c [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Nick Kralevich495f16c2011-11-28 13:41:21 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_CAPABILITY_H
20#define _LINUX_CAPABILITY_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#include <linux/types.h>
Nick Kralevich495f16c2011-11-28 13:41:21 -080022struct task_struct;
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define _LINUX_CAPABILITY_VERSION_1 0x19980330
25#define _LINUX_CAPABILITY_U32S_1 1
Elliott Hughesc95eb572013-01-29 18:15:55 -080026#define _LINUX_CAPABILITY_VERSION_2 0x20071026
Nick Kralevich495f16c2011-11-28 13:41:21 -080027#define _LINUX_CAPABILITY_U32S_2 2
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define _LINUX_CAPABILITY_VERSION_3 0x20080522
30#define _LINUX_CAPABILITY_U32S_3 2
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080031typedef struct __user_cap_header_struct {
32 __u32 version;
Nick Kralevich495f16c2011-11-28 13:41:21 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034 int pid;
35} __user *cap_user_header_t;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080036typedef struct __user_cap_data_struct {
37 __u32 effective;
Nick Kralevich495f16c2011-11-28 13:41:21 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039 __u32 permitted;
40 __u32 inheritable;
41} __user *cap_user_data_t;
Nick Kralevich495f16c2011-11-28 13:41:21 -080042#define VFS_CAP_REVISION_MASK 0xFF000000
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define VFS_CAP_REVISION_SHIFT 24
45#define VFS_CAP_FLAGS_MASK ~VFS_CAP_REVISION_MASK
46#define VFS_CAP_FLAGS_EFFECTIVE 0x000001
47#define VFS_CAP_REVISION_1 0x01000000
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define VFS_CAP_U32_1 1
50#define XATTR_CAPS_SZ_1 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_1))
51#define VFS_CAP_REVISION_2 0x02000000
52#define VFS_CAP_U32_2 2
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define XATTR_CAPS_SZ_2 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_2))
55#define XATTR_CAPS_SZ XATTR_CAPS_SZ_2
56#define VFS_CAP_U32 VFS_CAP_U32_2
57#define VFS_CAP_REVISION VFS_CAP_REVISION_2
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59struct vfs_cap_data {
60 __le32 magic_etc;
61 struct {
62 __le32 permitted;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 __le32 inheritable;
65 } data[VFS_CAP_U32];
66};
67#define _LINUX_CAPABILITY_VERSION _LINUX_CAPABILITY_VERSION_1
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define _LINUX_CAPABILITY_U32S _LINUX_CAPABILITY_U32S_1
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080070#define CAP_CHOWN 0
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080071#define CAP_DAC_OVERRIDE 1
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080072#define CAP_DAC_READ_SEARCH 2
Nick Kralevich495f16c2011-11-28 13:41:21 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074#define CAP_FOWNER 3
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080075#define CAP_FSETID 4
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080076#define CAP_KILL 5
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080077#define CAP_SETGID 6
Nick Kralevich495f16c2011-11-28 13:41:21 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079#define CAP_SETUID 7
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080080#define CAP_SETPCAP 8
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080081#define CAP_LINUX_IMMUTABLE 9
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080082#define CAP_NET_BIND_SERVICE 10
Nick Kralevich495f16c2011-11-28 13:41:21 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080084#define CAP_NET_BROADCAST 11
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080085#define CAP_NET_ADMIN 12
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080086#define CAP_NET_RAW 13
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080087#define CAP_IPC_LOCK 14
Nick Kralevich495f16c2011-11-28 13:41:21 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089#define CAP_IPC_OWNER 15
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080090#define CAP_SYS_MODULE 16
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080091#define CAP_SYS_RAWIO 17
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080092#define CAP_SYS_CHROOT 18
Nick Kralevich495f16c2011-11-28 13:41:21 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094#define CAP_SYS_PTRACE 19
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080095#define CAP_SYS_PACCT 20
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080096#define CAP_SYS_ADMIN 21
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080097#define CAP_SYS_BOOT 22
Nick Kralevich495f16c2011-11-28 13:41:21 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099#define CAP_SYS_NICE 23
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800100#define CAP_SYS_RESOURCE 24
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800101#define CAP_SYS_TIME 25
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800102#define CAP_SYS_TTY_CONFIG 26
Nick Kralevich495f16c2011-11-28 13:41:21 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800104#define CAP_MKNOD 27
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800105#define CAP_LEASE 28
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800106#define CAP_AUDIT_WRITE 29
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800107#define CAP_AUDIT_CONTROL 30
Nick Kralevich495f16c2011-11-28 13:41:21 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define CAP_SETFCAP 31
110#define CAP_MAC_OVERRIDE 32
111#define CAP_MAC_ADMIN 33
112#define CAP_SYSLOG 34
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#define CAP_WAKE_ALARM 35
115#define CAP_LAST_CAP CAP_WAKE_ALARM
116#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
Elliott Hughesc95eb572013-01-29 18:15:55 -0800117#define CAP_TO_INDEX(x) ((x) >> 5)
Nick Kralevich495f16c2011-11-28 13:41:21 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Elliott Hughesc95eb572013-01-29 18:15:55 -0800119#define CAP_TO_MASK(x) (1 << ((x) & 31))
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800120#endif