aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2016-09-27 07:03:23 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-09-27 21:52:00 -0400
commitbc8bcf3b150a29cd8d3f17a1aeb19a804ea683fa (patch)
tree8bc2a95170c0debf3b3c58379e00dd876f95f3d6 /include/uapi/linux
parent2211d5ba5c6c4e972ba6dbc912b2897425ea6621 (diff)
posix_acl: uapi header split
Export the base definitions and the xattr representation of POSIX ACLs to user space. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/Kbuild2
-rw-r--r--include/uapi/linux/posix_acl.h39
-rw-r--r--include/uapi/linux/posix_acl_xattr.h38
3 files changed, 79 insertions, 0 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index 185f8ea2702f..e266739168ec 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -335,6 +335,8 @@ header-y += pkt_cls.h
335header-y += pkt_sched.h 335header-y += pkt_sched.h
336header-y += pmu.h 336header-y += pmu.h
337header-y += poll.h 337header-y += poll.h
338header-y += posix_acl.h
339header-y += posix_acl_xattr.h
338header-y += posix_types.h 340header-y += posix_types.h
339header-y += ppdev.h 341header-y += ppdev.h
340header-y += ppp-comp.h 342header-y += ppp-comp.h
diff --git a/include/uapi/linux/posix_acl.h b/include/uapi/linux/posix_acl.h
new file mode 100644
index 000000000000..1037cb19aa17
--- /dev/null
+++ b/include/uapi/linux/posix_acl.h
@@ -0,0 +1,39 @@
1/*
2 * Copyright (C) 2002 Andreas Gruenbacher <a.gruenbacher@computer.org>
3 * Copyright (C) 2016 Red Hat, Inc.
4 *
5 * This file is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This file is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 */
16
17#ifndef __UAPI_POSIX_ACL_H
18#define __UAPI_POSIX_ACL_H
19
20#define ACL_UNDEFINED_ID (-1)
21
22/* a_type field in acl_user_posix_entry_t */
23#define ACL_TYPE_ACCESS (0x8000)
24#define ACL_TYPE_DEFAULT (0x4000)
25
26/* e_tag entry in struct posix_acl_entry */
27#define ACL_USER_OBJ (0x01)
28#define ACL_USER (0x02)
29#define ACL_GROUP_OBJ (0x04)
30#define ACL_GROUP (0x08)
31#define ACL_MASK (0x10)
32#define ACL_OTHER (0x20)
33
34/* permissions in the e_perm field */
35#define ACL_READ (0x04)
36#define ACL_WRITE (0x02)
37#define ACL_EXECUTE (0x01)
38
39#endif /* __UAPI_POSIX_ACL_H */
diff --git a/include/uapi/linux/posix_acl_xattr.h b/include/uapi/linux/posix_acl_xattr.h
new file mode 100644
index 000000000000..8b579844109b
--- /dev/null
+++ b/include/uapi/linux/posix_acl_xattr.h
@@ -0,0 +1,38 @@
1/*
2 * Copyright (C) 2002 Andreas Gruenbacher <a.gruenbacher@computer.org>
3 * Copyright (C) 2016 Red Hat, Inc.
4 *
5 * This file is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This file is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 */
16
17#ifndef __UAPI_POSIX_ACL_XATTR_H
18#define __UAPI_POSIX_ACL_XATTR_H
19
20#include <linux/types.h>
21
22/* Supported ACL a_version fields */
23#define POSIX_ACL_XATTR_VERSION 0x0002
24
25/* An undefined entry e_id value */
26#define ACL_UNDEFINED_ID (-1)
27
28struct posix_acl_xattr_entry {
29 __le16 e_tag;
30 __le16 e_perm;
31 __le32 e_id;
32};
33
34struct posix_acl_xattr_header {
35 __le32 a_version;
36};
37
38#endif /* __UAPI_POSIX_ACL_XATTR_H */