summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-03-09 16:40:42 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-03-09 16:40:42 -0800
commit9918041c1b450d2bd4ad8b033c197a26788ac034 (patch)
tree101e212172317a3fec1829339e644e602c365ed6 /include
parentba6965f29efa372dd888b4149e785589f66240eb (diff)
[PATCH] consolidate the last of the compat sigevent structs
This patch pulls together the compat_sigevent structs. It also consolidates the copying of these structures into the kernel. The only part of the second union in sigevent that the kernel looks at currently is the _tid, so that is the only bit we copy. This patch depends on my previous two patches "add and use COMPAT_SIGEV_PAD_SIZE" and "Consolidate the last compat sigvals". Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc64/siginfo.h22
-rw-r--r--include/linux/compat.h3
2 files changed, 3 insertions, 22 deletions
diff --git a/include/asm-sparc64/siginfo.h b/include/asm-sparc64/siginfo.h
index 295ea92f968b..7160449e7cab 100644
--- a/include/asm-sparc64/siginfo.h
+++ b/include/asm-sparc64/siginfo.h
@@ -32,26 +32,4 @@ struct compat_siginfo;
#define EMT_TAGOVF (__SI_FAULT|1) /* tag overflow */
#define NSIGEMT 1
-#ifdef __KERNEL__
-
-#ifdef CONFIG_COMPAT
-
-typedef struct sigevent32 {
- compat_sigval_t sigev_value;
- int sigev_signo;
- int sigev_notify;
- union {
- int _pad[COMPAT_SIGEV_PAD_SIZE];
-
- struct {
- u32 _function;
- u32 _attribute; /* really pthread_attr_t */
- } _sigev_thread;
- } _sigev_un;
-} sigevent_t32;
-
-#endif /* CONFIG_COMPAT */
-
-#endif /* __KERNEL__ */
-
#endif
diff --git a/include/linux/compat.h b/include/linux/compat.h
index af1ea468bca3..b58b7d6f2fdb 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -155,5 +155,8 @@ long compat_put_bitmap(compat_ulong_t __user *umask, unsigned long *mask,
unsigned long bitmap_size);
int copy_siginfo_from_user32(siginfo_t *to, struct compat_siginfo __user *from);
int copy_siginfo_to_user32(struct compat_siginfo __user *to, siginfo_t *from);
+int get_compat_sigevent(struct sigevent *event,
+ const struct compat_sigevent __user *u_event);
+
#endif /* CONFIG_COMPAT */
#endif /* _LINUX_COMPAT_H */