1/*
2 * include/linux/generic_acl.h
3 *
4 * (C) 2005 Andreas Gruenbacher <agruen@suse.de>
5 *
6 * This file is released under the GPL.
7 */
8
9#ifndef GENERIC_ACL_H
10#define GENERIC_ACL_H
11
12#include <linux/posix_acl.h>
13#include <linux/posix_acl_xattr.h>
14
15/**
16 * struct generic_acl_operations  -  filesystem operations
17 *
18 * Filesystems must make these operations available to the generic
19 * operations.
20 */
21struct generic_acl_operations {
22	struct posix_acl *(*getacl)(struct inode *, int);
23	void (*setacl)(struct inode *, int, struct posix_acl *);
24};
25
26size_t generic_acl_list(struct inode *, struct generic_acl_operations *, int,
27			char *, size_t);
28int generic_acl_get(struct inode *, struct generic_acl_operations *, int,
29		    void *, size_t);
30int generic_acl_set(struct inode *, struct generic_acl_operations *, int,
31		    const void *, size_t);
32int generic_acl_init(struct inode *, struct inode *,
33		     struct generic_acl_operations *);
34int generic_acl_chmod(struct inode *, struct generic_acl_operations *);
35
36#endif
37