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>
This commit is contained in:
parent
2211d5ba5c
commit
bc8bcf3b15
|
@ -11,27 +11,7 @@
|
|||
#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;
|
||||
|
|
|
@ -10,25 +10,9 @@
|
|||
#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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
|
@ -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 */
|
Loading…
Reference in New Issue