Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
---
 fs/unionfs/sioq.h |   92 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)
 create mode 100644 fs/unionfs/sioq.h

diff --git a/fs/unionfs/sioq.h b/fs/unionfs/sioq.h
new file mode 100644
index 0000000..afb71ee
--- /dev/null
+++ b/fs/unionfs/sioq.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2006-2007 Erez Zadok
+ * Copyright (c) 2006      Charles P. Wright
+ * Copyright (c) 2006-2007 Josef 'Jeff' Sipek
+ * Copyright (c) 2006      Junjiro Okajima
+ * Copyright (c) 2006      David P. Quigley
+ * Copyright (c) 2006-2007 Stony Brook University
+ * Copyright (c) 2006-2007 The Research Foundation of SUNY
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef _SIOQ_H
+#define _SIOQ_H
+
+struct deletewh_args {
+       struct unionfs_dir_state *namelist;
+       struct dentry *dentry;
+       int bindex;
+};
+
+struct is_opaque_args {
+       struct dentry *dentry;
+};
+
+struct create_args {
+       struct inode *parent;
+       struct dentry *dentry;
+       umode_t mode;
+       struct nameidata *nd;
+};
+
+struct mkdir_args {
+       struct inode *parent;
+       struct dentry *dentry;
+       umode_t mode;
+};
+
+struct mknod_args {
+       struct inode *parent;
+       struct dentry *dentry;
+       umode_t mode;
+       dev_t dev;
+};
+
+struct symlink_args {
+       struct inode *parent;
+       struct dentry *dentry;
+       char *symbuf;
+       umode_t mode;
+};
+
+struct unlink_args {
+       struct inode *parent;
+       struct dentry *dentry;
+};
+
+
+struct sioq_args {
+       struct completion comp;
+       struct work_struct work;
+       int err;
+       void *ret;
+
+       union {
+               struct deletewh_args deletewh;
+               struct is_opaque_args is_opaque;
+               struct create_args create;
+               struct mkdir_args mkdir;
+               struct mknod_args mknod;
+               struct symlink_args symlink;
+               struct unlink_args unlink;
+       };
+};
+
+/* Extern definitions for SIOQ functions */
+extern int __init init_sioq(void);
+extern void stop_sioq(void);
+extern void run_sioq(work_func_t func, struct sioq_args *args);
+
+/* Extern definitions for our privilege escalation helpers */
+extern void __unionfs_create(struct work_struct *work);
+extern void __unionfs_mkdir(struct work_struct *work);
+extern void __unionfs_mknod(struct work_struct *work);
+extern void __unionfs_symlink(struct work_struct *work);
+extern void __unionfs_unlink(struct work_struct *work);
+extern void __delete_whiteouts(struct work_struct *work);
+extern void __is_opaque_dir(struct work_struct *work);
+
+#endif /* not _SIOQ_H */
-- 
1.5.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to