blob: 80764f40be7531ff7c287f23ccba18b34e5515a8 [file] [log] [blame]
/*
* fs/generic_acl.c
*
* (C) 2005 Andreas Gruenbacher <agruen@suse.de>
*
* This file is released under the GPL.
*/
#ifndef GENERIC_ACL_H
#define GENERIC_ACL_H
#include <linux/posix_acl.h>
#include <linux/posix_acl_xattr.h>
/**
* struct generic_acl_operations - filesystem operations
*
* Filesystems must make these operations available to the generic
* operations.
*/
struct generic_acl_operations {
struct posix_acl *(*getacl)(struct inode *, int);
void (*setacl)(struct inode *, int, struct posix_acl *);
};
size_t generic_acl_list(struct inode *, struct generic_acl_operations *, int,
char *, size_t);
int generic_acl_get(struct inode *, struct generic_acl_operations *, int,
void *, size_t);
int generic_acl_set(struct inode *, struct generic_acl_operations *, int,
const void *, size_t);
int generic_acl_init(struct inode *, struct inode *,
struct generic_acl_operations *);
int generic_acl_chmod(struct inode *, struct generic_acl_operations *);
#endif