2006-09-29 17:01:34 +08:00
|
|
|
/*
|
2007-05-09 13:51:49 +08:00
|
|
|
* include/linux/generic_acl.h
|
2006-09-29 17:01:34 +08:00
|
|
|
*
|
|
|
|
* (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
|