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