37 lines
1002 B
C
37 lines
1002 B
C
|
/*
|
||
|
* 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
|