1 /* 2 * Copyright (C) 2007 Red Hat. All rights reserved. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public 6 * License v2 as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 * General Public License for more details. 12 * 13 * You should have received a copy of the GNU General Public 14 * License along with this program; if not, write to the 15 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16 * Boston, MA 021110-1307, USA. 17 */ 18 19 #ifndef __XATTR__ 20 #define __XATTR__ 21 22 #include <linux/xattr.h> 23 24 extern struct xattr_handler btrfs_xattr_acl_access_handler; 25 extern struct xattr_handler btrfs_xattr_acl_default_handler; 26 extern struct xattr_handler *btrfs_xattr_handlers[]; 27 28 extern ssize_t __btrfs_getxattr(struct inode *inode, const char *name, 29 void *buffer, size_t size); 30 extern int __btrfs_setxattr(struct btrfs_trans_handle *trans, 31 struct inode *inode, const char *name, 32 const void *value, size_t size, int flags); 33 extern ssize_t btrfs_getxattr(struct dentry *dentry, const char *name, 34 void *buffer, size_t size); 35 extern int btrfs_setxattr(struct dentry *dentry, const char *name, 36 const void *value, size_t size, int flags); 37 extern int btrfs_removexattr(struct dentry *dentry, const char *name); 38 39 extern int btrfs_xattr_security_init(struct btrfs_trans_handle *trans, 40 struct inode *inode, struct inode *dir); 41 42 #endif /* __XATTR__ */ 43