posix_acl: uapi header split
authorAndreas Gruenbacher <agruenba@redhat.com>
Tue, 27 Sep 2016 11:03:23 +0000 (13:03 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 28 Sep 2016 01:52:00 +0000 (21:52 -0400)
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>
include/linux/posix_acl.h
include/linux/posix_acl_xattr.h
include/uapi/linux/Kbuild
include/uapi/linux/posix_acl.h [new file with mode: 0644]
include/uapi/linux/posix_acl_xattr.h [new file with mode: 0644]

index d5d3d741f02866008c47754f0e586515b1610ce3..5433eea8e97caec75971df2cba4e58117165b554 100644 (file)
 #include <linux/bug.h>
 #include <linux/slab.h>
 #include <linux/rcupdate.h>
-
-#define ACL_UNDEFINED_ID       (-1)
-
-/* a_type field in acl_user_posix_entry_t */
-#define ACL_TYPE_ACCESS                (0x8000)
-#define ACL_TYPE_DEFAULT       (0x4000)
-
-/* e_tag entry in struct posix_acl_entry */
-#define ACL_USER_OBJ           (0x01)
-#define ACL_USER               (0x02)
-#define ACL_GROUP_OBJ          (0x04)
-#define ACL_GROUP              (0x08)
-#define ACL_MASK               (0x10)
-#define ACL_OTHER              (0x20)
-
-/* permissions in the e_perm field */
-#define ACL_READ               (0x04)
-#define ACL_WRITE              (0x02)
-#define ACL_EXECUTE            (0x01)
-//#define ACL_ADD              (0x08)
-//#define ACL_DELETE           (0x10)
+#include <uapi/linux/posix_acl.h>
 
 struct posix_acl_entry {
        short                   e_tag;
index d23d36842322f380fcffe84e746f7081a4434454..8b867e3bf3aa84e553e2c02fa0e6244284abcc51 100644 (file)
 #define _POSIX_ACL_XATTR_H
 
 #include <uapi/linux/xattr.h>
+#include <uapi/linux/posix_acl_xattr.h>
 #include <linux/posix_acl.h>
 
-/* Supported ACL a_version fields */
-#define POSIX_ACL_XATTR_VERSION        0x0002
-
-/* An undefined entry e_id value */
-#define ACL_UNDEFINED_ID       (-1)
-
-struct posix_acl_xattr_entry {
-       __le16                  e_tag;
-       __le16                  e_perm;
-       __le32                  e_id;
-};
-
-struct posix_acl_xattr_header {
-       __le32                  a_version;
-};
-
-
 static inline size_t
 posix_acl_xattr_size(int count)
 {
index 185f8ea2702fc6b85335647d7076115c694cdfba..e266739168ec3f61b68b258a17d7b1398038758c 100644 (file)
@@ -335,6 +335,8 @@ header-y += pkt_cls.h
 header-y += pkt_sched.h
 header-y += pmu.h
 header-y += poll.h
+header-y += posix_acl.h
+header-y += posix_acl_xattr.h
 header-y += posix_types.h
 header-y += ppdev.h
 header-y += ppp-comp.h
diff --git a/include/uapi/linux/posix_acl.h b/include/uapi/linux/posix_acl.h
new file mode 100644 (file)
index 0000000..1037cb1
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2002 Andreas Gruenbacher <a.gruenbacher@computer.org>
+ * Copyright (C) 2016 Red Hat, Inc.
+ *
+ * This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#ifndef __UAPI_POSIX_ACL_H
+#define __UAPI_POSIX_ACL_H
+
+#define ACL_UNDEFINED_ID       (-1)
+
+/* a_type field in acl_user_posix_entry_t */
+#define ACL_TYPE_ACCESS                (0x8000)
+#define ACL_TYPE_DEFAULT       (0x4000)
+
+/* e_tag entry in struct posix_acl_entry */
+#define ACL_USER_OBJ           (0x01)
+#define ACL_USER               (0x02)
+#define ACL_GROUP_OBJ          (0x04)
+#define ACL_GROUP              (0x08)
+#define ACL_MASK               (0x10)
+#define ACL_OTHER              (0x20)
+
+/* permissions in the e_perm field */
+#define ACL_READ               (0x04)
+#define ACL_WRITE              (0x02)
+#define ACL_EXECUTE            (0x01)
+
+#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 (file)
index 0000000..8b57984
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2002 Andreas Gruenbacher <a.gruenbacher@computer.org>
+ * Copyright (C) 2016 Red Hat, Inc.
+ *
+ * This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This file is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+#ifndef __UAPI_POSIX_ACL_XATTR_H
+#define __UAPI_POSIX_ACL_XATTR_H
+
+#include <linux/types.h>
+
+/* Supported ACL a_version fields */
+#define POSIX_ACL_XATTR_VERSION        0x0002
+
+/* An undefined entry e_id value */
+#define ACL_UNDEFINED_ID       (-1)
+
+struct posix_acl_xattr_entry {
+       __le16                  e_tag;
+       __le16                  e_perm;
+       __le32                  e_id;
+};
+
+struct posix_acl_xattr_header {
+       __le32                  a_version;
+};
+
+#endif /* __UAPI_POSIX_ACL_XATTR_H */