#include "hfsplus_fs.h"
#include "hfsplus_raw.h"
static struct kmem_cache *hfsplus_attr_tree_cachep;
int __init hfsplus_create_attr_tree_cache(void)
{ … }
void hfsplus_destroy_attr_tree_cache(void)
{ … }
int hfsplus_attr_bin_cmp_key(const hfsplus_btree_key *k1,
const hfsplus_btree_key *k2)
{ … }
int hfsplus_attr_build_key(struct super_block *sb, hfsplus_btree_key *key,
u32 cnid, const char *name)
{ … }
hfsplus_attr_entry *hfsplus_alloc_attr_entry(void)
{ … }
void hfsplus_destroy_attr_entry(hfsplus_attr_entry *entry)
{ … }
#define HFSPLUS_INVALID_ATTR_RECORD …
static int hfsplus_attr_build_record(hfsplus_attr_entry *entry, int record_type,
u32 cnid, const void *value, size_t size)
{ … }
int hfsplus_find_attr(struct super_block *sb, u32 cnid,
const char *name, struct hfs_find_data *fd)
{ … }
int hfsplus_attr_exists(struct inode *inode, const char *name)
{ … }
int hfsplus_create_attr(struct inode *inode,
const char *name,
const void *value, size_t size)
{ … }
static int __hfsplus_delete_attr(struct inode *inode, u32 cnid,
struct hfs_find_data *fd)
{ … }
int hfsplus_delete_attr(struct inode *inode, const char *name)
{ … }
int hfsplus_delete_all_attrs(struct inode *dir, u32 cnid)
{ … }