LCOV - code coverage report
Current view: top level - lkbce/include/linux - xattr.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2017-01-25 Functions: 0 0 -

          Line data    Source code
       1             : /*
       2             :   File: linux/xattr.h
       3             : 
       4             :   Extended attributes handling.
       5             : 
       6             :   Copyright (C) 2001 by Andreas Gruenbacher <a.gruenbacher@computer.org>
       7             :   Copyright (c) 2001-2002 Silicon Graphics, Inc.  All Rights Reserved.
       8             :   Copyright (c) 2004 Red Hat, Inc., James Morris <jmorris@redhat.com>
       9             : */
      10             : #ifndef _LINUX_XATTR_H
      11             : #define _LINUX_XATTR_H
      12             : 
      13             : #define XATTR_CREATE    0x1     /* set value, fail if attr already exists */
      14             : #define XATTR_REPLACE   0x2     /* set value, fail if attr does not exist */
      15             : 
      16             : #ifdef  __KERNEL__
      17             : 
      18             : #include <linux/types.h>
      19             : 
      20             : /* Namespaces */
      21             : #define XATTR_OS2_PREFIX "os2."
      22             : #define XATTR_OS2_PREFIX_LEN (sizeof (XATTR_OS2_PREFIX) - 1)
      23             : 
      24             : #define XATTR_SECURITY_PREFIX   "security."
      25             : #define XATTR_SECURITY_PREFIX_LEN (sizeof (XATTR_SECURITY_PREFIX) - 1)
      26             : 
      27             : #define XATTR_SYSTEM_PREFIX "system."
      28             : #define XATTR_SYSTEM_PREFIX_LEN (sizeof (XATTR_SYSTEM_PREFIX) - 1)
      29             : 
      30             : #define XATTR_TRUSTED_PREFIX "trusted."
      31             : #define XATTR_TRUSTED_PREFIX_LEN (sizeof (XATTR_TRUSTED_PREFIX) - 1)
      32             : 
      33             : #define XATTR_USER_PREFIX "user."
      34             : #define XATTR_USER_PREFIX_LEN (sizeof (XATTR_USER_PREFIX) - 1)
      35             : 
      36             : struct inode;
      37             : struct dentry;
      38             : 
      39             : struct xattr_handler {
      40             :         char *prefix;
      41             :         int flags;      /* fs private flags passed back to the handlers */
      42             :         size_t (*list)(struct dentry *dentry, char *list, size_t list_size,
      43             :                        const char *name, size_t name_len, int handler_flags);
      44             :         int (*get)(struct dentry *dentry, const char *name, void *buffer,
      45             :                    size_t size, int handler_flags);
      46             :         int (*set)(struct dentry *dentry, const char *name, const void *buffer,
      47             :                    size_t size, int flags, int handler_flags);
      48             : };
      49             : 
      50             : ssize_t xattr_getsecurity(struct inode *, const char *, void *, size_t);
      51             : ssize_t vfs_getxattr(struct dentry *, const char *, void *, size_t);
      52             : ssize_t vfs_listxattr(struct dentry *d, char *list, size_t size);
      53             : int __vfs_setxattr_noperm(struct dentry *, const char *, const void *, size_t, int);
      54             : int vfs_setxattr(struct dentry *, const char *, const void *, size_t, int);
      55             : int vfs_removexattr(struct dentry *, const char *);
      56             : 
      57             : ssize_t generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size);
      58             : ssize_t generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size);
      59             : int generic_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags);
      60             : int generic_removexattr(struct dentry *dentry, const char *name);
      61           1 : 
      62             : #endif  /*  __KERNEL__  */
      63             : 
      64             : #endif  /* _LINUX_XATTR_H */

Generated by: LCOV version 1.10