Eric W. Biederman | 884c5e6 | 2020-06-26 12:23:00 -0500 | [diff] [blame] | 1 | #ifndef __LINUX_USERMODE_DRIVER_H__ |
| 2 | #define __LINUX_USERMODE_DRIVER_H__ |
| 3 | |
| 4 | #include <linux/umh.h> |
Eric W. Biederman | e2dc9bf | 2020-06-25 13:12:59 -0500 | [diff] [blame] | 5 | #include <linux/path.h> |
Eric W. Biederman | 884c5e6 | 2020-06-26 12:23:00 -0500 | [diff] [blame] | 6 | |
Eric W. Biederman | 74be2d3 | 2020-06-26 11:16:06 -0500 | [diff] [blame] | 7 | struct umd_info { |
Eric W. Biederman | 1199c6c | 2020-06-25 11:38:08 -0500 | [diff] [blame] | 8 | const char *driver_name; |
Eric W. Biederman | 884c5e6 | 2020-06-26 12:23:00 -0500 | [diff] [blame] | 9 | struct file *pipe_to_umh; |
| 10 | struct file *pipe_from_umh; |
Eric W. Biederman | e2dc9bf | 2020-06-25 13:12:59 -0500 | [diff] [blame] | 11 | struct path wd; |
Eric W. Biederman | 1c340ea | 2020-06-25 16:48:26 -0500 | [diff] [blame] | 12 | struct pid *tgid; |
Eric W. Biederman | 884c5e6 | 2020-06-26 12:23:00 -0500 | [diff] [blame] | 13 | }; |
Eric W. Biederman | e2dc9bf | 2020-06-25 13:12:59 -0500 | [diff] [blame] | 14 | int umd_load_blob(struct umd_info *info, const void *data, size_t len); |
| 15 | int umd_unload_blob(struct umd_info *info); |
| 16 | int fork_usermode_driver(struct umd_info *info); |
Eric W. Biederman | 884c5e6 | 2020-06-26 12:23:00 -0500 | [diff] [blame] | 17 | |
| 18 | #endif /* __LINUX_USERMODE_DRIVER_H__ */ |