This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / include / linux / generic_acl.h
diff --git a/include/linux/generic_acl.h b/include/linux/generic_acl.h
new file mode 100644 (file)
index 0000000..80764f4
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * 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