linux/include/uapi/linux/xattr.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2/*
   3  File: linux/xattr.h
   4
   5  Extended attributes handling.
   6
   7  Copyright (C) 2001 by Andreas Gruenbacher <a.gruenbacher@computer.org>
   8  Copyright (c) 2001-2002 Silicon Graphics, Inc.  All Rights Reserved.
   9  Copyright (c) 2004 Red Hat, Inc., James Morris <jmorris@redhat.com>
  10  Copyright (c) 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
  11*/
  12
  13#include <linux/libc-compat.h>
  14
  15#ifndef _UAPI_LINUX_XATTR_H
  16#define _UAPI_LINUX_XATTR_H
  17
  18#if __UAPI_DEF_XATTR
  19#define __USE_KERNEL_XATTR_DEFS
  20
  21#define XATTR_CREATE    0x1     /* set value, fail if attr already exists */
  22#define XATTR_REPLACE   0x2     /* set value, fail if attr does not exist */
  23#endif
  24
  25/* Namespaces */
  26#define XATTR_OS2_PREFIX "os2."
  27#define XATTR_OS2_PREFIX_LEN (sizeof(XATTR_OS2_PREFIX) - 1)
  28
  29#define XATTR_MAC_OSX_PREFIX "osx."
  30#define XATTR_MAC_OSX_PREFIX_LEN (sizeof(XATTR_MAC_OSX_PREFIX) - 1)
  31
  32#define XATTR_BTRFS_PREFIX "btrfs."
  33#define XATTR_BTRFS_PREFIX_LEN (sizeof(XATTR_BTRFS_PREFIX) - 1)
  34
  35#define XATTR_HURD_PREFIX "gnu."
  36#define XATTR_HURD_PREFIX_LEN (sizeof(XATTR_HURD_PREFIX) - 1)
  37
  38#define XATTR_SECURITY_PREFIX   "security."
  39#define XATTR_SECURITY_PREFIX_LEN (sizeof(XATTR_SECURITY_PREFIX) - 1)
  40
  41#define XATTR_SYSTEM_PREFIX "system."
  42#define XATTR_SYSTEM_PREFIX_LEN (sizeof(XATTR_SYSTEM_PREFIX) - 1)
  43
  44#define XATTR_TRUSTED_PREFIX "trusted."
  45#define XATTR_TRUSTED_PREFIX_LEN (sizeof(XATTR_TRUSTED_PREFIX) - 1)
  46
  47#define XATTR_USER_PREFIX "user."
  48#define XATTR_USER_PREFIX_LEN (sizeof(XATTR_USER_PREFIX) - 1)
  49
  50/* Security namespace */
  51#define XATTR_EVM_SUFFIX "evm"
  52#define XATTR_NAME_EVM XATTR_SECURITY_PREFIX XATTR_EVM_SUFFIX
  53
  54#define XATTR_IMA_SUFFIX "ima"
  55#define XATTR_NAME_IMA XATTR_SECURITY_PREFIX XATTR_IMA_SUFFIX
  56
  57#define XATTR_SELINUX_SUFFIX "selinux"
  58#define XATTR_NAME_SELINUX XATTR_SECURITY_PREFIX XATTR_SELINUX_SUFFIX
  59
  60#define XATTR_SMACK_SUFFIX "SMACK64"
  61#define XATTR_SMACK_IPIN "SMACK64IPIN"
  62#define XATTR_SMACK_IPOUT "SMACK64IPOUT"
  63#define XATTR_SMACK_EXEC "SMACK64EXEC"
  64#define XATTR_SMACK_TRANSMUTE "SMACK64TRANSMUTE"
  65#define XATTR_SMACK_MMAP "SMACK64MMAP"
  66#define XATTR_NAME_SMACK XATTR_SECURITY_PREFIX XATTR_SMACK_SUFFIX
  67#define XATTR_NAME_SMACKIPIN    XATTR_SECURITY_PREFIX XATTR_SMACK_IPIN
  68#define XATTR_NAME_SMACKIPOUT   XATTR_SECURITY_PREFIX XATTR_SMACK_IPOUT
  69#define XATTR_NAME_SMACKEXEC    XATTR_SECURITY_PREFIX XATTR_SMACK_EXEC
  70#define XATTR_NAME_SMACKTRANSMUTE XATTR_SECURITY_PREFIX XATTR_SMACK_TRANSMUTE
  71#define XATTR_NAME_SMACKMMAP XATTR_SECURITY_PREFIX XATTR_SMACK_MMAP
  72
  73#define XATTR_APPARMOR_SUFFIX "apparmor"
  74#define XATTR_NAME_APPARMOR XATTR_SECURITY_PREFIX XATTR_APPARMOR_SUFFIX
  75
  76#define XATTR_CAPS_SUFFIX "capability"
  77#define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX XATTR_CAPS_SUFFIX
  78
  79#define XATTR_POSIX_ACL_ACCESS  "posix_acl_access"
  80#define XATTR_NAME_POSIX_ACL_ACCESS XATTR_SYSTEM_PREFIX XATTR_POSIX_ACL_ACCESS
  81#define XATTR_POSIX_ACL_DEFAULT  "posix_acl_default"
  82#define XATTR_NAME_POSIX_ACL_DEFAULT XATTR_SYSTEM_PREFIX XATTR_POSIX_ACL_DEFAULT
  83
  84
  85#endif /* _UAPI_LINUX_XATTR_H */
  86