summaryrefslogtreecommitdiff
path: root/include/linux/sched/vhost_task.h
blob: 6123c10b99cf3548c9360cb0d19c6062ba0a00a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_VHOST_TASK_H
#define _LINUX_VHOST_TASK_H

#include <linux/completion.h>

struct task_struct;

struct vhost_task {
	int (*fn)(void *data);
	void *data;
	struct completion exited;
	unsigned long flags;
	struct task_struct *task;
};

struct vhost_task *vhost_task_create(int (*fn)(void *), void *arg,
				     const char *name);
void vhost_task_start(struct vhost_task *vtsk);
void vhost_task_stop(struct vhost_task *vtsk);
bool vhost_task_should_stop(struct vhost_task *vtsk);

#endif