• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _UAPI_LINUX_CAPABILITY_H
7 #define _UAPI_LINUX_CAPABILITY_H
8 #include <linux/types.h>
9 #define _LINUX_CAPABILITY_VERSION_1  0x19980330
10 #define _LINUX_CAPABILITY_U32S_1     1
11 #define _LINUX_CAPABILITY_VERSION_2  0x20071026
12 #define _LINUX_CAPABILITY_U32S_2     2
13 #define _LINUX_CAPABILITY_VERSION_3  0x20080522
14 #define _LINUX_CAPABILITY_U32S_3     2
15 typedef struct __user_cap_header_struct {
16 	__u32 version;
17 	int pid;
18 } __user *cap_user_header_t;
19 typedef struct __user_cap_data_struct {
20         __u32 effective;
21         __u32 permitted;
22         __u32 inheritable;
23 } __user *cap_user_data_t;
24 #define VFS_CAP_REVISION_MASK	0xFF000000
25 #define VFS_CAP_REVISION_SHIFT	24
26 #define VFS_CAP_FLAGS_MASK	~VFS_CAP_REVISION_MASK
27 #define VFS_CAP_FLAGS_EFFECTIVE	0x000001
28 #define VFS_CAP_REVISION_1	0x01000000
29 #define VFS_CAP_U32_1           1
30 #define XATTR_CAPS_SZ_1         (sizeof(__le32)*(1 + 2*VFS_CAP_U32_1))
31 #define VFS_CAP_REVISION_2	0x02000000
32 #define VFS_CAP_U32_2           2
33 #define XATTR_CAPS_SZ_2         (sizeof(__le32)*(1 + 2*VFS_CAP_U32_2))
34 #define VFS_CAP_REVISION_3	0x03000000
35 #define VFS_CAP_U32_3           2
36 #define XATTR_CAPS_SZ_3         (sizeof(__le32)*(2 + 2*VFS_CAP_U32_3))
37 #define XATTR_CAPS_SZ           XATTR_CAPS_SZ_3
38 #define VFS_CAP_U32             VFS_CAP_U32_3
39 #define VFS_CAP_REVISION	VFS_CAP_REVISION_3
40 struct vfs_cap_data {
41 	__le32 magic_etc;
42 	struct {
43 		__le32 permitted;
44 		__le32 inheritable;
45 	} data[VFS_CAP_U32];
46 };
47 struct vfs_ns_cap_data {
48 	__le32 magic_etc;
49 	struct {
50 		__le32 permitted;
51 		__le32 inheritable;
52 	} data[VFS_CAP_U32];
53 	__le32 rootid;
54 };
55 #ifndef __KERNEL__
56 #define _LINUX_CAPABILITY_VERSION  _LINUX_CAPABILITY_VERSION_1
57 #define _LINUX_CAPABILITY_U32S     _LINUX_CAPABILITY_U32S_1
58 #endif
59 #define CAP_CHOWN            0
60 #define CAP_DAC_OVERRIDE     1
61 #define CAP_DAC_READ_SEARCH  2
62 #define CAP_FOWNER           3
63 #define CAP_FSETID           4
64 #define CAP_KILL             5
65 #define CAP_SETGID           6
66 #define CAP_SETUID           7
67 #define CAP_SETPCAP          8
68 #define CAP_LINUX_IMMUTABLE  9
69 #define CAP_NET_BIND_SERVICE 10
70 #define CAP_NET_BROADCAST    11
71 #define CAP_NET_ADMIN        12
72 #define CAP_NET_RAW          13
73 #define CAP_IPC_LOCK         14
74 #define CAP_IPC_OWNER        15
75 #define CAP_SYS_MODULE       16
76 #define CAP_SYS_RAWIO        17
77 #define CAP_SYS_CHROOT       18
78 #define CAP_SYS_PTRACE       19
79 #define CAP_SYS_PACCT        20
80 #define CAP_SYS_ADMIN        21
81 #define CAP_SYS_BOOT         22
82 #define CAP_SYS_NICE         23
83 #define CAP_SYS_RESOURCE     24
84 #define CAP_SYS_TIME         25
85 #define CAP_SYS_TTY_CONFIG   26
86 #define CAP_MKNOD            27
87 #define CAP_LEASE            28
88 #define CAP_AUDIT_WRITE      29
89 #define CAP_AUDIT_CONTROL    30
90 #define CAP_SETFCAP	     31
91 #define CAP_MAC_OVERRIDE     32
92 #define CAP_MAC_ADMIN        33
93 #define CAP_SYSLOG           34
94 #define CAP_WAKE_ALARM            35
95 #define CAP_BLOCK_SUSPEND    36
96 #define CAP_AUDIT_READ		37
97 #define CAP_LAST_CAP         CAP_AUDIT_READ
98 #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
99 #define CAP_TO_INDEX(x)     ((x) >> 5)
100 #define CAP_TO_MASK(x)      (1 << ((x) & 31))
101 #endif
102