diff options
author | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-02-28 00:48:31 +0000 |
---|---|---|
committer | behlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c> | 2008-02-28 00:48:31 +0000 |
commit | 596e65b4e8e98e46705cb470deb72dbf8702b8c2 (patch) | |
tree | 10b03edbf6439f138d2e2a22da8e7b5ffcb25546 /include/spl-thread.h | |
parent | 07d339d467337b07ff078d4f2bb81c00388c7565 (diff) |
OK, I think this is the last of major cleanup and restructuring.
We've dropped all the linux- prefixes on the file in favor of spl-
which makes more sense. And we've cleaned up some of the includes
so everybody should be including their own dependencies properly.
All a module which wants to use the spl support needs to do in
include spl.h and ensure it has access to Module.symvers.
git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@16 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
Diffstat (limited to 'include/spl-thread.h')
-rw-r--r-- | include/spl-thread.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/include/spl-thread.h b/include/spl-thread.h new file mode 100644 index 000000000..567d397e1 --- /dev/null +++ b/include/spl-thread.h @@ -0,0 +1,50 @@ +#ifndef _SOLARIS_THREAD_H +#define _SOLARIS_THREAD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <linux/module.h> +#include <linux/mm.h> +#include <linux/spinlock.h> +#include "spl-types.h" +#include "spl-generic.h" + +/* + * Thread interfaces + */ +#define TP_MAGIC 0x53535353 + +#define TS_SLEEP TASK_INTERRUPTIBLE +#define TS_RUN TASK_RUNNING +#define TS_ZOMB EXIT_ZOMBIE +#define TS_STOPPED TASK_STOPPED +#if 0 +#define TS_FREE 0x00 /* No clean linux mapping */ +#define TS_ONPROC 0x04 /* No clean linux mapping */ +#define TS_WAIT 0x20 /* No clean linux mapping */ +#endif + +#define thread_create(stk, stksize, func, arg, len, pp, state, pri) \ + __thread_create(stk, stksize, func, arg, len, pp, state, pri) +#define thread_exit() __thread_exit() +#define curthread get_current() + +/* We just need a valid type to pass around, it's unused */ +typedef struct proc_s { + int foo; +} proc_t; + +extern kthread_t *__thread_create(caddr_t stk, size_t stksize, + void (*proc)(void *), void *args, + size_t len, proc_t *pp, int state, + pri_t pri); +extern void __thread_exit(void); + +#ifdef __cplusplus +} +#endif + +#endif /* _SOLARIS_THREAD_H */ + |