#include "hfsplus_fs.h"
#include <linux/nls.h>
#include "xattr.h"
static int hfsplus_removexattr(struct inode *inode, const char *name);
const struct xattr_handler * const hfsplus_xattr_handlers[] = …;
static int strcmp_xattr_finder_info(const char *name)
{ … }
static int strcmp_xattr_acl(const char *name)
{ … }
static bool is_known_namespace(const char *name)
{ … }
static void hfsplus_init_header_node(struct inode *attr_file,
u32 clump_size,
char *buf, u16 node_size)
{ … }
static int hfsplus_create_attributes_file(struct super_block *sb)
{ … }
int __hfsplus_setxattr(struct inode *inode, const char *name,
const void *value, size_t size, int flags)
{ … }
static int name_len(const char *xattr_name, int xattr_name_len)
{ … }
static ssize_t copy_name(char *buffer, const char *xattr_name, int name_len)
{ … }
int hfsplus_setxattr(struct inode *inode, const char *name,
const void *value, size_t size, int flags,
const char *prefix, size_t prefixlen)
{ … }
static ssize_t hfsplus_getxattr_finder_info(struct inode *inode,
void *value, size_t size)
{ … }
ssize_t __hfsplus_getxattr(struct inode *inode, const char *name,
void *value, size_t size)
{ … }
ssize_t hfsplus_getxattr(struct inode *inode, const char *name,
void *value, size_t size,
const char *prefix, size_t prefixlen)
{ … }
static inline int can_list(const char *xattr_name)
{ … }
static ssize_t hfsplus_listxattr_finder_info(struct dentry *dentry,
char *buffer, size_t size)
{ … }
ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size)
{ … }
static int hfsplus_removexattr(struct inode *inode, const char *name)
{ … }
static int hfsplus_osx_getxattr(const struct xattr_handler *handler,
struct dentry *unused, struct inode *inode,
const char *name, void *buffer, size_t size)
{ … }
static int hfsplus_osx_setxattr(const struct xattr_handler *handler,
struct mnt_idmap *idmap,
struct dentry *unused, struct inode *inode,
const char *name, const void *buffer,
size_t size, int flags)
{ … }
const struct xattr_handler hfsplus_xattr_osx_handler = …;