1884c5e68SEric W. Biederman #ifndef __LINUX_USERMODE_DRIVER_H__
2884c5e68SEric W. Biederman #define __LINUX_USERMODE_DRIVER_H__
3884c5e68SEric W. Biederman 
4884c5e68SEric W. Biederman #include <linux/umh.h>
5e2dc9bf3SEric W. Biederman #include <linux/path.h>
6884c5e68SEric W. Biederman 
774be2d3bSEric W. Biederman struct umd_info {
81199c6c3SEric W. Biederman 	const char *driver_name;
9884c5e68SEric W. Biederman 	struct file *pipe_to_umh;
10884c5e68SEric W. Biederman 	struct file *pipe_from_umh;
11e2dc9bf3SEric W. Biederman 	struct path wd;
121c340eadSEric W. Biederman 	struct pid *tgid;
13884c5e68SEric W. Biederman };
14e2dc9bf3SEric W. Biederman int umd_load_blob(struct umd_info *info, const void *data, size_t len);
15e2dc9bf3SEric W. Biederman int umd_unload_blob(struct umd_info *info);
16e2dc9bf3SEric W. Biederman int fork_usermode_driver(struct umd_info *info);
17*f60a85caSZqiang void umd_cleanup_helper(struct umd_info *info);
18884c5e68SEric W. Biederman 
19884c5e68SEric W. Biederman #endif /* __LINUX_USERMODE_DRIVER_H__ */
20