blob: 073a9e0ec07d06c6fc8f3a323483bbd3401e0df5 [file] [log] [blame]
Eric W. Biederman884c5e62020-06-26 12:23:00 -05001#ifndef __LINUX_USERMODE_DRIVER_H__
2#define __LINUX_USERMODE_DRIVER_H__
3
4#include <linux/umh.h>
Eric W. Biedermane2dc9bf2020-06-25 13:12:59 -05005#include <linux/path.h>
Eric W. Biederman884c5e62020-06-26 12:23:00 -05006
Eric W. Biederman74be2d32020-06-26 11:16:06 -05007struct umd_info {
Eric W. Biederman1199c6c2020-06-25 11:38:08 -05008 const char *driver_name;
Eric W. Biederman884c5e62020-06-26 12:23:00 -05009 struct file *pipe_to_umh;
10 struct file *pipe_from_umh;
Eric W. Biedermane2dc9bf2020-06-25 13:12:59 -050011 struct path wd;
Eric W. Biederman1c340ea2020-06-25 16:48:26 -050012 struct pid *tgid;
Eric W. Biederman884c5e62020-06-26 12:23:00 -050013};
Eric W. Biedermane2dc9bf2020-06-25 13:12:59 -050014int umd_load_blob(struct umd_info *info, const void *data, size_t len);
15int umd_unload_blob(struct umd_info *info);
16int fork_usermode_driver(struct umd_info *info);
Eric W. Biederman884c5e62020-06-26 12:23:00 -050017
18#endif /* __LINUX_USERMODE_DRIVER_H__ */