1/* uisthread.h
2 *
3 * Copyright (C) 2010 - 2013 UNISYS CORPORATION
4 * All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or (at
9 * your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
14 * NON INFRINGEMENT.  See the GNU General Public License for more
15 * details.
16 */
17
18/*****************************************************************************/
19/* Unisys thread utilities header                                            */
20/*****************************************************************************/
21
22#ifndef __UISTHREAD_H__
23#define __UISTHREAD_H__
24
25#include "linux/completion.h"
26
27struct uisthread_info {
28	struct task_struct *task;
29	int id;
30	struct completion has_stopped;
31};
32
33/* returns 0 for failure, 1 for success */
34int uisthread_start(
35	struct uisthread_info *thrinfo,
36	int (*threadfn)(void *),
37	void *thrcontext,
38	char *name);
39
40void uisthread_stop(struct uisthread_info *thrinfo);
41
42#endif /* __UISTHREAD_H__ */
43